JQuery ScrollTop无法处理溢出

JQuery ScrollTop无法处理溢出,jquery,html,css,scroll,Jquery,Html,Css,Scroll,在创建移动网站时,我必须将这些属性添加到我的身体中,以消除多余的空白: html,body { width: 100%; margin: 0px; padding: 0px; overflow-y: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; } 但是,关于视差和导航栏的jQueryscrollTop函数现在不起作用。这些功能在移动设备上不起作用 $n = ".n

在创建移动网站时,我必须将这些属性添加到我的身体中,以消除多余的空白:

html,body
{
    width: 100%;
    margin: 0px;
    padding: 0px;
    overflow-y: scroll;
    overflow-x: hidden; 
    -webkit-overflow-scrolling: touch;
}
但是,关于视差和导航栏的jQuery
scrollTop
函数现在不起作用。这些功能在移动设备上不起作用

$n = ".navbar";
$(window).scroll(function(){
    if($(window).scrollTop() > 300){
        $($n).css("background-color", "rgba(255,255,255,.2)");
    } else {
        $($n).css("background-color", "transparent");
    }
});
我已经尝试从正文中删除溢出,并将其仅保留在HTML上,反之亦然,这确实解决了我的问题,但是空格返回。我已经在网上查过了,但是我似乎找不到关于这个问题的任何信息

如果您想查看该网站,URL为。 请记住,这才刚刚开始,目前主页是唯一的页面。
谢谢。

我想可能是因为

overflow-y: scroll;
overflow-x: hidden;
试着通过改变它们

overflow: auto;

通过删除
正文
上的
高度
属性,可以解决这个问题,这实际上相当于将
高度
设置为
自动

body {
   height: auto;
   max-width: 100%;
}
当您明确地将值设置为
主体的
高度
时,在其上的任何区域上滚动实际上会触发
主体
内部的
滚动
事件,而不是
窗口
。在我看来,这就是未触发
scroll
事件的问题根源


同时,
overflow-y:滚动”是多余和不必要的,因为当视口的宽度显著减小时,它会在
主体上强制显示一个难看的滚动条

我遇到了同样的问题,
scrollTop()
不起作用。原来是因为我在页面顶部有一些内联样式。似乎
scrollTop()
需要一个特定的HTML结构,因此将
标记作为页面上的第一个元素会破坏它。这是修复之前的样子:

<style>
    .my-class {
        ...
    }
</style>
<!doctype html>
<html lang="en">
    <head>
        ...
    </head>
</html>

.我的班级{
...
}
...
我将内联stylse移动到
标记中,解决了这个问题。以下是修复后的情况:

<!doctype html>
<html lang="en">
    <head>
        <style>
            .my-class {
                ...
            }
        </style>
    </head>
</html>

.我的班级{
...
}

mhm。。。。当我将窗口缩小到移动分辨率时,控制台中不再显示任何内容。我假设这个
-webkit溢出滚动:touch是原因。(使用谷歌开发工具在维瓦尔第进行测试)是的。我添加了一个媒体查询,以消除溢出,除非窗口大致为移动大小。我不知道为什么它没有拾取滚动。我所注意到的是,当你弹出浏览器(意思是在顶部或底部)时,滚动确实会记录下另一件奇怪的事情。如果您向下滚动,然后将窗口缩小到移动分辨率,就可以了。如果你现在把它拉长一点,窗户就会回到顶部。如果再次收缩,它将返回到最后一个位置。好像有东西被重置了,或者你有两个不同的文件。。。weird@TCHdvlp你在说什么元素?我真的不明白你的意思。我只是向下滚动,然后玩窗口尺寸。我说的是整个窗户。不,试过了。滚动仍然不工作,控制台中没有任何日志。