คุณสมบัติHTML DOM scrollTop
ตัวอย่าง
รับจำนวนพิกเซลที่เนื้อหาขององค์ประกอบ <div> ถูกเลื่อนในแนวนอนและแนวตั้ง:
var elmnt = document.getElementById("myDIV");
var x = elmnt.scrollLeft;
var y = elmnt.scrollTop;
ตัวอย่าง "ลองใช้เอง" เพิ่มเติมด้านล่าง
ความหมายและการใช้งาน
คุณสมบัติ scrollTop ตั้งค่าหรือส่งคืนจำนวนพิกเซลที่เนื้อหาขององค์ประกอบถูกเลื่อนในแนวตั้ง
เคล็ดลับ:ใช้ คุณสมบัติ scrollLeftเพื่อตั้งค่าหรือส่งคืนจำนวนพิกเซลที่เนื้อหาขององค์ประกอบถูกเลื่อนในแนวนอน
เคล็ดลับ:หากต้องการเพิ่มแถบเลื่อนให้กับองค์ประกอบ ให้ใช้ คุณสมบัติโอเวอร์โฟ ลว์ CSS
เคล็ดลับ:เหตุการณ์onscrollเกิดขึ้นเมื่อเลื่อนแถบเลื่อนขององค์ประกอบ
รองรับเบราว์เซอร์
Property | |||||
---|---|---|---|---|---|
scrollTop | Yes | Yes | Yes | Yes | Yes |
ไวยากรณ์
กลับคุณสมบัติ scrollTop:
element.scrollTop
ตั้งค่าคุณสมบัติ scrollTop:
element.scrollTop = pixels
มูลค่าทรัพย์สิน
Value | Description |
---|---|
pixels |
Specifies the number of pixels the element's content is scrolled vertically. Special notes:
|
รายละเอียดทางเทคนิค
คืนมูลค่า: | ตัวเลข แทนจำนวนพิกเซลที่เลื่อนเนื้อหาขององค์ประกอบในแนวตั้ง |
---|
ตัวอย่างเพิ่มเติม
ตัวอย่าง
เลื่อนเนื้อหาของ <div> องค์ประกอบถึง 50 พิกเซลในแนวนอนและ 10 พิกเซลในแนวตั้ง:
var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft = 50;
elmnt.scrollTop = 10;
ตัวอย่าง
เลื่อนเนื้อหาของ <div> องค์ประกอบ 50 พิกเซลในแนวนอนและ 10 พิกเซลในแนวตั้ง:
var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft += 50;
elmnt.scrollTop += 10;
ตัวอย่าง
เลื่อนเนื้อหาของ <body> 30 พิกเซลในแนวนอนและ 10 พิกเซลในแนวตั้ง:
var body = document.body; // Safari
var html = document.documentElement; //
Chrome, Firefox, IE and Opera places the overflow at the <html> level, unless else is specified. Therefore, we use the
documentElement property for these browsers
body.scrollLeft += 30;
body.scrollTop += 10;
html.scrollLeft += 30;
html.scrollTop += 10;
ตัวอย่าง
สลับระหว่างชื่อคลาสบนตำแหน่งการเลื่อนต่างๆ - เมื่อผู้ใช้เลื่อนลง 50 พิกเซลจากด้านบนของหน้า ชื่อคลาส "test" จะถูกเพิ่มลงในองค์ประกอบ (และลบออกเมื่อเลื่อนขึ้นอีกครั้ง)
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
document.getElementById("myP").className = "test";
} else {
document.getElementById("myP").className = "";
}
}
ตัวอย่าง
เลื่อนในองค์ประกอบเมื่อผู้ใช้เลื่อนลง 350 พิกเซลจากด้านบนของหน้า (เพิ่มคลาส slideUp):
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 350 || document.documentElement.scrollTop > 350) {
document.getElementById("myImg").className = "slideUp";
}
}
ตัวอย่าง
วาดรูปสามเหลี่ยมบนสกรอลล์:
<!-- Use SVG to draw the triangle (has to be <path>) -->
<svg id="mySVG">
<path fill="none" stroke="red" stroke-width="3" id="triangle" d="M150 0 L75 200 L225 200 Z">
</svg>
<script>
// Get the id of the <path> element and the length of <path>
var triangle = document.getElementById("triangle");
var length = triangle.getTotalLength();
// The start position of the drawing
triangle.style.strokeDasharray = length;
// Hide the triangle by offsetting dash. Remove this line to show the triangle before scroll draw
triangle.style.strokeDashoffset = length;
// Find scroll percentage on scroll (using cross-browser properties), and offset dash same amount as percentage scrolled
window.addEventListener("scroll", myFunction);
function myFunction() {
var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);
var draw = length * scrollpercent;
// Reverse the drawing (when scrolling upwards)
triangle.style.strokeDashoffset = length - draw;
}
</script>