我有一个正在滚动的页面。也就是说, body 上的滚动事件侦听器可以正常工作。但是,窗口和文档上的滚动侦听器不会触发。
问题是,即使正在滚动,$(“body”)。scrollTop()始终返回0。我循环遍历所有身体的孩子,他们都没有scrollTop()大于0.有些孩子有溢出:隐藏,但这不应该影响scrollTop我想。
我根据this问题删除了高度:100%,我也经历了this个问题。
我确保通过将其溢出设置为隐藏来滚动确实是 body - 滚动条消失了。我还尝试在应用程序中的每个容器div上附加滚动侦听器 - 它们都没有被触发。所以它确实是滚动的 body ,并且出于一些奇怪的原因,jquery scrollTop()为所有元素返回0。
是的,我尝试访问document.body.scrollTop - 仍为0。
任何关于可能导致此问题的提示都会受到很多的感谢。被困在这里一段时间了。谢谢:))
编辑:document.documentElement.scrollTop也返回0. $(文档).scrollTop() - 返回0。 !DOCTYPE html也已设置。
编辑2:奇怪的是,我不能通过在body上设置scrollTop来滚动。也就是说,$('body')。scrollTop(500)什么都不做!
编辑3:: 我的jquery函数:
$("body").on("scroll", function(){
var children = $("body").children();
$("body").scrollTop(800);
for(var i=0; i<children.length; i++){
if($(children[i]).scrollTop() > 0){
console.log("children: " + i);
console.log("val: " + $(children[i]).scrollTop());
}
}
});
答案 0 :(得分:0)
有一个高度:100%来自另一个css文件。通过设置高度解决它:auto。