Javascript 添加侦听器以删除滚动功能(如果宽度<;x

Javascript 添加侦听器以删除滚动功能(如果宽度<;x,javascript,jquery,Javascript,Jquery,我将此css样式设置为当屏幕宽度小于1024px时,删除#sidebox上的边栏行为。它也会被替换到原来的位置,在那里它作为内容中的一个普通div,因此是:“position:relative” @media screen and (max-width: 1024px) { #sidebox { position: relative; top: 0; right: 0; } } 下一步(这就是我需要帮助的地方)是删除JQuery脚

我将此css样式设置为当屏幕宽度小于1024px时,删除
#sidebox
上的边栏行为。它也会被替换到原来的位置,在那里它作为内容中的一个普通div,因此是:“position:relative”

@media screen and (max-width: 1024px) {
    #sidebox {
        position: relative;
        top: 0;
        right: 0;
    }
}
下一步(这就是我需要帮助的地方)是删除JQuery脚本,该脚本使
#sidebox
在低于某个高度时滚动到顶部,但在屏幕大于1024px时仍保持这种状态。

因此,当在1024px上调整屏幕大小时,侧框应滚动至顶部。这种行为称为“跟随”。

下面是我为完成上述任务而设置的JQuery脚本:

if ($(window).width() > 1024) {
    $(window).scroll(function () {
        $("#sidebox").css("top", Math.max(0, 120 - $(this).scrollTop()));
    });
}

$(window).resize(function() {
    if ($(window).width() > 1024) {
        $("#sidebox").css("top", Math.max(0, 120 - $(this).scrollTop()));
    } else {
        $("#sidebox").css("top"), 0;
    }
});
那我怎么帮你问呢?你可能已经猜到了,这种行为是有缺陷的。
#侧框(在css中)
(在html中)只有在站点刷新时才会正常运行。

似乎
$(window).resize
没有用作调整大小的侦听器。


因此,当我的窗口宽度为1920px,并且我打开站点时,侧边栏将按需要运行,但当我将窗口调整为小于1024px的宽度时,它将转到其正确位置,因为上面看到的css,但仍然尝试滚动,因为
$(窗口).resize
的功能不符合我的要求。

您的if语句不应该在scroll事件内部,而不是外部,这样滚动就可以根据滚动时的窗口宽度而不是页面加载时的窗口宽度来工作或不工作吗?您似乎已经在resize事件中这样做了。您的意思是写:$(“#sidebox”).css(“top”,0);而不是$(“#侧框”).css(“顶部”),0@rontornambe它应该是
$(“#sidebox”).css(“top”,0)
,但它并不能解决手头的主要问题。@KevinB是的,我不知何故忽略了这一点。非常感谢你指出这一点。