我在移动鼠标时在状态栏中显示document.body.scrollTop的值。 IE中的值始终为0。为什么总是0?是否有其他方法可以获得滚动条的移动量?
答案 0 :(得分:115)
您可能希望在IE中尝试使用较旧的doctype:
var top = (document.documentElement && document.documentElement.scrollTop) ||
document.body.scrollTop;
答案 1 :(得分:14)
此函数提供了读取滚动偏移量的跨浏览器实现:
function posTop() {
return typeof window.pageYOffset != 'undefined' ? window.pageYOffset: document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop? document.body.scrollTop:0;
}
答案 2 :(得分:10)
根据DOCTYPE,您必须使用document.body.scrollTop
或document.documentElement.scrollTop
。你试过第二个吗?
您可以这样做:
var scrollTop = document.documentElement ? document.documentElement.scrollTop :
document.body.scrollTop;
我在研究你的问题时遇到了这些链接:
这可能会帮助你多一点。