JS中完美兼容各大浏览器的scrolltop方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中完美兼容各大浏览器的scrolltop方法相关的知识,希望对你有一定的参考价值。

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

window.pageYOffset (Safari) 被放置在 || 的中间位置。

因为当 数字0 与 undefine 进行 或运算时,系统默认返回最后一个值。即或运算中 0 == undefine ;

当页面滚动条刚好在最顶端,即scrollTop值为 0 时,IE 下 window.pageYOffset (Safari) 返回为 undefine ,此时将 window.pageYOffset (Safari) 放在或运算最后面时, scrollTop 返回 undefine , undefine 用在接下去的运算就会报错咯。

而其他浏览器 无论 scrollTop 赋值或运算顺序如何都不会返回 undefine. 可以安全使用..

所以说到头还是IE的问题


以上是关于JS中完美兼容各大浏览器的scrolltop方法的主要内容,如果未能解决你的问题,请参考以下文章

兼容各大浏览器 onscrool

jQuery-jquery scrollTop怎么解决所有浏览器兼容问题

原生Js在各大浏览器上火狐ie谷歌360等出现的不兼容问题。

各浏览器兼容性问题之javascript(js)篇

关于取可视区到页面顶部距离(scrollTop)各浏览器不同的方法(兼容性)

分享js中 pageY = clientY + document.body.scrollTop 之间的关系