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 用在接下去的運算就會報錯咯。ide

而其餘瀏覽器 不管 scrollTop 賦值或運算順序如何都不會返回 undefine. 能夠安全使用..spa

因此說到頭仍是IE的問題orm

相關文章
相關標籤/搜索