推荐优先使用 window.pageyoffset 获取页面垂直滚动距离,它是标准api、兼容ie9+、语义清晰且无需判断文档类型;旧版ie可回退用 math.max(document.documentelement.scrolltop, document.body.scrolltop)。

用 document.documentElement.scrollTop 或 window.pageYOffset 获取当前页面垂直滚动距离,推荐优先使用 window.pageYOffset,兼容性好且语义清晰。
最常用且推荐的方法:window.pageYOffset
这是标准 API,返回文档在垂直方向上被滚动的像素数,始终准确反映当前滚动位置:
- 支持所有现代浏览器(包括 IE9+)
- 无需判断文档类型(
html或body),写法统一 - 值为数字,直接可用于计算或监听
示例:
console.log(window.pageYOffset); // 如:120兼容旧版 IE 的备选:document.documentElement.scrollTop
在部分老版本浏览器(如 IE8)中,window.pageYOffset 不可用,此时可回退到 document.documentElement.scrollTop:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 注意:某些情况下(如 Chrome 中文档未声明 DOCTYPE),可能需用
document.body.scrollTop - 稳妥写法是取两者最大值:
Math.max(document.documentElement.scrollTop, document.body.scrollTop)
不过现在绝大多数项目已无需支持 IE8,该写法仅作了解。
监听滚动变化
如果需要实时响应滚动,用 scroll 事件配合 pageYOffset:
const scrollY = window.pageYOffset;
console.log('当前滚动距离:', scrollY);
});
注意:频繁触发时建议节流(throttle)以提升性能。
补充说明:scrollY 是 pageYOffset 的别名
window.scrollY 和 window.pageYOffset 完全等价,都是只读属性,可互换使用。选择其中一个保持代码风格一致即可。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










