概述
返回文档在垂直方向已滚动的像素值。
语法
var y = window.scrollY;
y是文档从顶部开始滚动过的像素值。
示例
// 保证刚好滚动到第二页
if (window.scrollY) {
window.scroll(0, 0); // 重置滚动位置为文档的左上角
}
window.scrollByPages(1);
备注
如果正在使用相对滚动函数,如 window.scrollBy、window.scrollByLines 或 window.scrollByPages,则需要使用该属性来检测文档是否已被滚动了某段距离。
pageYOffset 属性是 scrollY 属性的别名:
window.pageYOffset == window.scrollY; // 总是返回 true
为了跨浏览器兼容,请使用 window.pageYOffset 代替 window.scrollY。另外,旧版本IE(<9)两个属性都不支持,必须使用其他的非标准属性。完整的兼容性代码如下:
var supportPageOffset = window.pageXOffset !== undefined; var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); var x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft; var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
规范
| Specification | Status | Comment |
|---|---|---|
| CSS Object Model (CSSOM) View Module window.scrollY |
Working Draft |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Microsoft Edge | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 未实现 | (Yes) | (Yes) | (Yes) |
| Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|---|
| Basic support | ? | (Yes) | ? | ? | ? | ? | ? | (Yes) |