Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 即使在滚动时,IE中document.body.scrollTop也始终为0_Html_Css - Fatal编程技术网

Html 即使在滚动时,IE中document.body.scrollTop也始终为0

Html 即使在滚动时,IE中document.body.scrollTop也始终为0,html,css,Html,Css,移动鼠标时,我正在状态栏中显示document.body.scrollTop的值。IE中的值始终为0。为什么始终为0?是否有其他方法可以获取滚动条的移动量?根据DOCTYPE,您必须使用document.body.scrollTop或document.documentElement.scrollTop。你试过第二个吗 您可以这样做: var scrollTop = document.documentElement ? document.documentElement.scrollTop :

移动鼠标时,我正在状态栏中显示document.body.scrollTop的值。IE中的值始终为0。为什么始终为0?是否有其他方法可以获取滚动条的移动量?

根据DOCTYPE,您必须使用
document.body.scrollTop
document.documentElement.scrollTop
。你试过第二个吗

您可以这样做:

var scrollTop = document.documentElement ? document.documentElement.scrollTop :
                                           document.body.scrollTop;
我在研究您的问题时遇到了以下链接:

  • (朝底部)

这可能会对您有所帮助。

您可能希望在IE中对较旧的doctype尝试以下方法:

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;

此功能提供读取滚动偏移的跨浏览器实现:

function posTop() {
            return typeof window.pageYOffset != 'undefined' ? window.pageYOffset: document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop? document.body.scrollTop:0;
        }

如果
document.documentElement
未定义,该炸弹不会爆炸吗?我想你的意思是
document.documentElement
而不是三元表达式的第一部分中的
document.documentElement.scrollTop
。)@Vivin-它不是未定义的,只是没有设置scroll属性,导致0/false。这可以缩写为
var top=document.documentElement.scrollTop | | document.body.scrollTopvar-top=(document.documentElement&&document.documentElement.scrollTop)| document.body.scrollTop在iOS中使用document.documentElement.scrollTop时要小心。它将始终报告0。如果您需要实际测试scrollTop==0,那么此开关将不起作用。我对所选答案投了上票,因为似乎没有其他人这样做(除非有反对票)。如果你回答了Nick的问题,那就太好了。谢谢,这是唯一一个在IE的旧版本和Chrome的最新版本中都有效的答案。