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