blockly > แถบเลื่อน

คลาสแถบเลื่อน

คลาสสำหรับแถบเลื่อน SVG เพียงอย่างเดียว เทคนิคนี้มีแถบเลื่อนที่ได้รับการรับประกันว่าจะทำงานได้ แต่อาจมีลักษณะหรือลักษณะการทำงานเหมือนแถบเลื่อนของระบบไม่ได้

ลายเซ็น:

export declare class Scrollbar 

ผู้ผลิต

ผู้ผลิต ตัวปรับแต่ง คำอธิบาย
(constructor)(พื้นที่ทำงาน แนวนอน, Opt_pair, opt_class, opt_margin) สร้างอินสแตนซ์ใหม่ของคลาส Scrollbar

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ ตัวปรับแต่ง Type คำอธิบาย
lengthAttribute_ สตริง แอตทริบิวต์ DOM ที่ควบคุมความยาวของแถบเลื่อน แตกต่างกันสำหรับแถบเลื่อนแนวนอนและแนวตั้ง
onMouseDownBarWrapper_ browserEvents.Data เครื่องจัดการสำหรับเหตุการณ์เมาส์ลงบนพื้นหลังของแถบเลื่อน
onMouseDownHandleWrapper_ browserEvents.Data เครื่องจัดการสำหรับเหตุการณ์เมาส์ลงบนที่จับของแถบเลื่อน
onMouseMoveWrapper_ browserEvents.Data | null เครื่องจัดการสำหรับเหตุการณ์การวางเมาส์เพื่อสิ้นสุดการลากแถบเลื่อน
onMouseUpWrapper_ browserEvents.Data | null เครื่องจัดการสำหรับเหตุการณ์การขยับเมาส์ระหว่างการลากแถบเลื่อน
positionAttribute_ สตริง แอตทริบิวต์ DOM ที่ควบคุมตำแหน่งของแถบเลื่อน แตกต่างกันสำหรับแถบเลื่อนแนวนอนและแนวตั้ง
scrollbarThickness static ตัวเลข ความกว้างของแถบเลื่อนแนวตั้งหรือความสูงของแถบเลื่อนแนวนอนในหน่วยพิกเซล CSS แถบเลื่อนควรมีขนาดใหญ่ขึ้นในอุปกรณ์แบบสัมผัส

วิธีการ

วิธีการ ตัวปรับแต่ง คำอธิบาย
dispose() กำจัดแถบเลื่อนนี้ นำองค์ประกอบ DOM, Listener เหตุการณ์ และการสมัครใช้บริการธีมออก
isVisible() แถบเลื่อนมองเห็นได้ไหม แถบเลื่อนที่ไม่มีการจับคู่จะหายไปเมื่อไม่ต้องการ
resize(opt_metrics) คำนวณตำแหน่งของแถบเลื่อนใหม่และความยาว
resizeContentHorizontal(hostMetrics) คำนวณตำแหน่งของแถบเลื่อนแนวนอนใหม่ภายในเส้นทางและความยาว ระบบจะเรียกใช้เมื่อเนื้อหาของพื้นที่ทำงานมีการเปลี่ยนแปลง
resizeContentVertical(hostMetrics) คำนวณตำแหน่งของแถบเลื่อนแนวตั้งอีกครั้งภายในเส้นทางและความยาวของแถบเลื่อน ระบบจะเรียกใช้เมื่อเนื้อหาของพื้นที่ทำงานมีการเปลี่ยนแปลง
resizeViewHorizontal(hostMetrics) คำนวณตำแหน่งของแถบเลื่อนแนวนอนบนหน้าจอและความยาวเส้นทางอีกครั้ง ระบบจะเรียกใช้ข้อมูลนี้เมื่อเลย์เอาต์หรือขนาดของหน้าต่างมีการเปลี่ยนแปลง
resizeViewVertical(hostMetrics) คำนวณตำแหน่งของแถบเลื่อนแนวตั้งบนหน้าจอและความยาวเส้นทางอีกครั้ง ระบบจะเรียกใช้ข้อมูลนี้เมื่อเลย์เอาต์หรือขนาดของหน้าต่างมีการเปลี่ยนแปลง
set(value, updateMetrics) กำหนดตำแหน่งของแฮนเดิลแถบเลื่อน
setContainerVisible(visible) กำหนดว่าจะแสดงคอนเทนเนอร์ของแถบเลื่อนหรือไม่ และอัปเดตการแสดงผลให้สอดคล้องกันหากมีการเปลี่ยนแปลงการแสดงผล
setHandlePosition(newPosition) ตั้งค่าออฟเซ็ตของแฮนเดิลของแถบเลื่อนจากตำแหน่งของแถบเลื่อน แล้วเปลี่ยนแอตทริบิวต์ SVG ตามความเหมาะสม
setOrigin(x, y) บันทึกต้นทางของพื้นที่ทำงานที่มีแถบเลื่อนเป็นพิกเซลที่สัมพันธ์กับต้นทาง div ของการแทรก ตัวเลือกนี้ใช้ในกรณีที่ใช้แถบเลื่อนในออบเจ็กต์ที่มีต้นทางไม่ตรงกับพื้นที่ทำงานหลัก (เช่น ใน Flyout)
setVisible(visible) ตั้งค่าว่าจะให้แสดงแถบเลื่อนไหม มีผลกับแถบเลื่อนที่ไม่ได้จับคู่เท่านั้น
updateDisplay_() อัปเดตการแสดงแถบเลื่อนโดยพิจารณาว่าควรมองเห็นได้หรือไม่ และมองเห็นพื้นที่ทำงานของแถบเลื่อนนั้นหรือไม่ เราใช้พื้นที่ทำงานที่ซ่อนอยู่เพื่อซ่อนเราไม่ได้ เนื่องจากพื้นที่ทำงานดังกล่าวไม่จำเป็นต้องเป็นระดับบนสุดใน DOM