document.body.scrollTop的值总为0的解决办法

文章2019-06-29151 人已阅来源:网络

碰到一个页面滚动高度监听判断,但是发现document.body.scrollTop一直是0。

查资料发现是DTD的问题。

页面指定了DTD,即指定了DOCTYPE时,使用document.documentElement

页面没有DTD,即没指定DOCTYPE时,使用document.body

IE和Firefox都是如此。

如果不能确定是否指定了DOCTYPE时,可以作一下兼容处理:

var scro = document.body.scrollTop || document.documentElement.scrollTop;
// scro即可获取准确的页面被卷去的高度