最新的Web開發教程
 

HTML DOM scrollTop Propery

<元素對象

獲得像素的內容的數量<div>元素被水平和垂直滾動的:

var elmnt = document.getElementById("myDIV");
var x = elmnt.scrollLeft;
var y = elmnt.scrollTop;
試一試»

更多"Try it Yourself"下面的例子。


定義和用法

所述scrollTop的屬性設置或返回一個元素的內容被垂直滾動的像素的數量。

提示:使用scrollLeft屬性來設置或返回元素的含量水平滾動的像素數。

提示:要滾動條添加到一個元素,使用CSS 溢出財產。

提示: onscroll當一個元素的滾動條被滾動發生的事件。


瀏覽器支持

屬性
scrollTop

句法

返回scrollTop的屬性:

element .scrollTop

設置scrollTop的屬性:

element .scrollTop= pixels

屬性值

描述
pixels 指定元素的內容垂直滾動的像素數。

特別說明:
  • 如果數字為負值時,所述數量被設置為"0"
  • 如果元素不能被滾動時,數被設定為"0"
  • 如果數目大於允許的最大滾動量越大,數量被設置為最大數

技術細節

返回值: 一個數字,表示該元素的內容已被垂直滾動的像素數

例子

更多示例

滾動的內容<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; // For Chrome, Safari and Opera
var html = document.documentElement; // Firefox and IE places the overflow at the <html> level, unless else is specified. Therefore, we use the documentElement property for these two browsers
body.scrollLeft += 30;
body.scrollTop += 10;
html.scrollLeft += 30;
html.scrollTop += 10;
試一試»

當用戶向下滾動從頁面頂部的50個像素,類名-在不同的滾動位置的類名之間切換"test"將被添加到一個元素(and removed when scrolled up again)

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像素(add the slideUp class)

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>
試一試»


<元素對象