在项目测试中,console.log( document.body.scrollTop ) 一直打印为0 ,网上查找了一下原因,有说是顶部文档说明的问题,<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 这行东西造成IE无法获取document.body.scrollTop,将以上说明改为<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">就可以了,但是页面的元素有变化,
还有的解决办法不改变文档说明,代码如下:
var scrollPos;
if (typeof window.pageYOffset != 'undefined'){
scrollPos = window.pageYOffset;
}else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat'){
scrollPos = document.documentElement.scrollTop;
}else if (typeof document.body != 'undefined'){
scrollPos = document.body.scrollTop;
}
alert(scrollPos);
我就两个结合 var top = document.documentElement.scrollTop || document.body.scrollTop;然后在自己电脑下 IE9以上测试好像是可以的
网友评论