即使在滚动时,document.body.scrollTop在IE中也总是为0
我在移动鼠标时在状态栏中显示document.body.scrollTop的值。 IE中的值始终为0。 为什么总是0? 还有另一种方式来获得滚动条已经移动了多less?
您可能想要在IE中使用较旧的文档types:
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; }
根据DOCTYPE,您将不得不使用document.body.scrollTop
或document.documentElement.scrollTop
。 你尝试过第二个吗?
你可以做这样的事情:
var scrollTop = document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop;
我在研究你的问题时遇到了这些链接:
- 窗口大小和滚动 (向底部)
- 在IE中document.body.scrollTop
这可能会帮助你多一点。