我设置了这种 css 样式,以#sidebox
在屏幕宽度小于 1024 像素时删除侧边栏行为。它也被替换到它的原始位置,在该位置它作为内容中的普通 div,因此:'位置:相对'。
@media screen and (max-width: 1024px) {
#sidebox {
position: relative;
top: 0;
right: 0;
}
}
下一步(这是我需要帮助的)是删除 JQuery 脚本,该脚本#sidebox
在低于某个高度时会滚动到顶部,但在屏幕大于 1024 像素时仍让它以这种方式运行。
因此,当调整屏幕大小超过 1024 像素时,#sidebox
应该滚动到顶部。这种行为被称为“跟随”。
下面是我为完成上述任务而设置的 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;
}
});
那我怎么帮你问?好吧,正如您可能已经猜到的那样,这种行为是有缺陷的。
#sidebox
(在 css 中) <div id="sidebox">...</div>
(在 html 中)只有在刷新站点时才会表现得令人满意。
似乎它$(window).resize
不能作为调整大小的侦听器。
因此,当我的窗口宽度为 1920px 并且我打开站点时,侧边栏将按需要运行,但是当我将窗口的宽度调整为低于 1024px 时,由于上面看到的 css,它会转到正确的位置,但仍然尝试滚动,因为$(window).resize
没有按我希望的那样运行。