scrollTop获取为0兼容解决方案

IE

对于没有 doctype 声明的页面用 document.body.scrollTop

Chrome、Firefox

对于有 doctype 声明的页面,则使用
document.documentElement.scrollTop

Safari

safari 比较特别,有自己获取 scrollTop 的函数 : window.pageYOffset;只读属性 pageYOffset 是 scrollY 的别名。

1
2
3
4
const scrollTop =
window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
const scrollLeft =
window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft;

or

1
2
3
4
5
6
export function getScrollCoord() {
const scrollTop = window.scrollY || document.body.scrollTop || document.documentElement.scrollTop;
const scrollLeft =
window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft;
return { scrollTop, scrollLeft };
}
文章作者: wenmu
文章链接: http://blog.wangpengpeng.site/2020/03/25/scrollTop%E8%8E%B7%E5%8F%96%E4%B8%BA0%E5%85%BC%E5%AE%B9%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 温木的博客
微信打赏