遇到这样一个棘手的问题:document.body.scrollTop的值 始终为0,于是到处找相关解决办法。
原来是DTD的问题,要是页面直接用<html>开头的话就没有问题了。但是要符合web标准,DTD当 然是不能少的。使用DTD时用document.documentElement.scrollTop代替 document.body.scrollTop就可以了。
但是有个浏览器兼容的问题,document.documentElement.scrollTop在IE中有效,但是在Firefox下是无效的。
总结:
去掉DTD后,在IE、Firefox下document.body.scrollTop值正常。
加上DTD,将document.documentElement.scrollTop代替document.body.scrollTop 后,IE中显示正常,在Firefox下document.documentElement.scrollTop(即 document.body.scrollTop)的值仍然是始终为0。
转自:http://www.cnblogs.com/uedt/archive/2010/04/02/1703087.html
分享到:
相关推荐
Vue中document.body.scrollTop的值总为零的解决办法 最近在做vue的时候监听页面滚动发现document.body.scrollTop一直为0 但是发现document.body.scrollTop一直是0。 查资料发现是DTD的问题。 页面指定了DTD,即指定...
document.body.scrollTop用法
火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题
NULL 博文链接:https://lingf.iteye.com/blog/1852295
} 可是怎么没有达到预期效果呢,输出 document.body.scrollTop 的值一看,一直都是 0。原来是 DTD 的问题,要是页面直接用 开头的话就没有问题了。但是要符合 web 标准,DTD 当然是不能少的。具有 D
有一个功能需要判断返回顶部按钮是否显示。 JS代码如下: var sTop = document.body....但是发现document.body.scrollTop一直是0。 查资料发现是DTD的问题。 页面指定了DTD,即指定了DOCTYPE时,使用document.docu
在实际应用中经常会遇到以下问题:document.documentElement.scrollTop在Chrome里总为0document.body.scrollTop 在IE和firefox里总为01、各浏览器下 window.pageYOffset/document.documentElement.scrollTop/...
网页被卷去的高: document.body.scrollTop; 网页被卷去的左: document.body.scrollLeft; 网页正文部分上: window.screenTop; 网页正文部分左: window.screenLeft; 屏幕分辨率的高: window.screen.height; 屏幕...
网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body....网页被卷去的高(ff):document.body.scrollTop; 网页被卷去的高(ie): do
在标准的浏览器下,需要注意的东西,例如双击自动滚动 var diffY; if (document.documentElement && document.... else if (document.body) diffY = document.body.scrollTop else {/*Netscape stuff*/}
上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientHeight原本想取得“页面可见区域高度”,可实际上返回的是“页面实际内容高度”。 那我们怎么办呢?难道加上了文档...
y = document.body.scrollTop; x = document.body.scrollLeft; } return {X:x, Y:y}; } function main() { var div = document.getElementById("div"); for(var i=0; i; i++) { document....
scrollTop=document.body.scrollTop; } return scrollTop; } /******************** * 取窗口可视范围的高度 *******************/ function getClientHeight() { var clientHeight=0; if...
var top = document.body.scrollTop + event.clientY; if (event.clientX+clrPanel.style.pixelWidth > document.body.clientWidth) { //对话框显示在鼠标右方时,会出现遮挡,将其显示在鼠标左方 left -= ...
scrollTop = document.documentElement.scrollTop+document.body.scrollTop; height = document.getElementById("first").offsetTop; alert(scrollTop+" "+height); } function second(){ var top = 300; var...
document.body.clientWidth – 网页可见区域宽 document.body.clientHeight – 网页可见区域高 document.body.offsetWidth – 网页可见区域宽,包括边线和滚动条的宽 ...document.body.scrollTop – 有滚动条的时候,向
网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body....网页被卷去的高: document.body.scrollTop;网页被卷去的左: document.body.scrollLeft