Window: scrollY 属性

scrollYWindow 接口的只读属性,它返回文档当前垂直滚动的像素数。在现代浏览器中,此值具有亚像素精度,这意味着它不一定是整数。您可以从 scrollX 属性获取文档水平滚动的像素数。

一个双精度浮点数,指示文档当前从原点垂直滚动的像素数,其中正值表示内容向下滚动(以显示底部更多的内容)。更专业的术语是,scrollY 返回当前 视口 的顶部边缘的 Y 坐标。如果文档根本没有向上或向下滚动,则 scrollY 为 0。如果没有视口,则返回的值为 0。如果文档在亚像素精确的设备上呈现,则返回的值也是亚像素精确的,并且可能包含小数部分。

注意:如果您需要整数,可以使用 Math.round() 进行四舍五入。

Safari 通过更新 scrollY 超过最大滚动位置来响应过度滚动(除非禁用默认的“反弹”效果,例如通过将 overscroll-behavior 设置为 none),而 Chrome 和 Firefox 则不会。例如,当文档已位于顶部时,只需继续向上滚动,scrollY 在 Safari 上可能为负值。

此属性为只读。要将窗口滚动到特定位置,请使用 Window.scroll()

示例

js
// make sure and go down to the second page
if (window.scrollY) {
  window.scroll(0, 0); // reset the scroll position to the top left of the document.
}

window.scrollByPages(1);

注释

使用此属性检查文档在使用相对滚动函数(例如 scrollBy()scrollByLines()scrollByPages())时是否尚未滚动。

pageYOffset 属性是 scrollY 属性的别名。这意味着如果您没有重新分配这两个属性中的任何一个,则 window.pageYOffset === window.scrollY 始终为真。

规范

规范
CSSOM View 模块
# dom-window-scrolly

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅