我有一个页面的正文在滚动。也就是说,body上的滚动事件侦听器起作用。但是,window和document上的滚动侦听器不会激发。
问题是,即使body是滚动的,$(“body”).scrolltop()始终返回0。我循环遍历了body的所有子级,没有一个scrollTop()大于0。有些孩子有溢出:隐藏,但应该不会影响滚动顶部,我猜。
我删除了高度:100%根据这个问题,我也经历了这个问题。
我通过将其溢出设置为隐藏(滚动条消失)来确保滚动的确实是body。我还尝试在应用程序中的每个容器div上附加滚动监听器--没有一个被激发。因此,滚动的确实是主体,由于某种奇怪的原因,jquery scrollTop()为所有元素返回0。
是的,我尝试访问document.body.scrolltop-still 0。
任何关于是什么可能导致这一问题的暗示都将得到非常感谢。被困在这里一段时间了。谢谢:)
编辑:Document.DocumentElement.ScrollTop也返回0。$(document).ScrollTop()-返回0。!还设置了doctype html。
编辑2:奇怪的是,我不能通过在正文上设置scrollTop来滚动。也就是说,$('body').Scrolltop(500)什么也不做!
编辑3::My 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());
}
}
});
有一个高度:100%来自另一个css文件。通过设置高度:auto解决了这个问题。