gpt4 book ai didi

javascript - css/jquery 滚动固定 div 问题

转载 作者:行者123 更新时间:2023-11-28 05:43:02 25 4
gpt4 key购买 nike

我试图在窗口浏览器向下滚动时修复特定像素后的 div,然后在窗口向上滚动时将 div 放在开头的相同位置。

$(window).scroll(function () {
var button = $('.button-mobile');
offset = button.offset().top;
position = button.position().top;
console.log(position);
if ($(this).scrollTop() >= offset) {
$('.button-mobile').css({
"max-height": "100%",
"position": "fixed",
"overflow-y": "auto",
"top": "40px",
"z-index": "1"
});
} else {
$('.button-mobile').css({
"position": "absolute",
"top": "none",
"overflow-y": "none",
"z-index": "none"
});
}
});

if 分支运行良好。我认为 else 分支是问题所在。

该分支是对先前实验的测试。 else 分支适用于已知高度(以 px 为单位),但不适用于频繁更改的偏移量。

另外我不知道为什么当窗口向下滚动到 div 时位置的顶部值设置为 40px。

谢谢

最佳答案

我想你应该将按钮偏移分配移出滚动回调:

    var button = $('.button-mobile');
var offset = button.offset().top;

$(window).scroll(function () {
position = button.position().top;
console.log(position);
if ($(this).scrollTop() >= offset) {
$('.button-mobile').css({
"max-height": "100%",
"position": "fixed",
"overflow-y": "auto",
"top": "40px",
"z-index": "1"
});
} else {
$('.button-mobile').css({
"position": "static",
"top": "none",
"overflow-y": "none",
"z-index": "none"
});
}
});

关于javascript - css/jquery 滚动固定 div 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38764010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com