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的問題


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章