可以't获取滚动位置

Can't get scroll position

本文关键字:获取 滚动 位置 可以      更新时间:2023-09-26

我有一个页面的主体正在滚动。也就是说,body上的滚动事件侦听器可以工作。但是,窗口文档上的滚动侦听器不会启动。

问题是,即使body在滚动,$("body").scrollTop()也始终返回0。我循环浏览了body的所有子项,没有一个的scrollTop()大于0。有些孩子有溢出:隐藏,但我想这不应该影响scrollTop。

我去掉了身高:根据这个问题,我已经完成了这个问题。

我通过将溢出设置为隐藏来确保确实是body在滚动——滚动条消失了。我还尝试在应用程序中的每个容器div上附加滚动侦听器,但没有一个被触发。因此,实际上是主体在滚动,出于某种奇怪的原因,jquery scrollTop()为所有元素返回0。

是的,我尝试访问document.body.scrollTop,仍然为0。

任何可能导致这一问题的暗示都将引起我们的感激。被困在这里有一段时间了。谢谢:)

EDIT:document.dococumentElement.scrollTop也返回0$(document).scrollTop()-返回0。!还设置了DOCTYPE html。

编辑2:奇怪的是,我也不能通过在主体上设置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());
        }
    }
});

有一个高度:100%来自另一个css文件。通过设置高度来解决此问题:auto。