gpt4 book ai didi

javascript - 使一个 div 贴在屏幕顶部,但如果向上滚动,返回到它的原始位置?

转载 作者:行者123 更新时间:2023-11-28 13:35:37 24 4
gpt4 key购买 nike

当滚动到某个点(从 div 到页面)

$(window).scroll(function (e) {
$el = $('#sticky');
if ($(this).scrollTop() > 46 && $el.css('position') != 'fixed') {
$('#sticky').css({
'position': 'fixed',
'top': '0px'
});
}
});

但是当您回到页面顶部时它不会重置 div 的位置,我希望它这样做。有什么建议么?此外,我想确保这是执行此操作的最佳方法 — 如果只有 css、非 javascript 解决方案,我会洗耳恭听。

最佳答案

我建议保持固定或绝对的粘性内容,但不要在两者之间切换。

固定:http://jsfiddle.net/CpM8H/2/

$(window).scroll(function (e) {
$scrollTopDiff = 46 - $(this).scrollTop();

$('#sticky').css({
'top': ( $scrollTopDiff > 0 ? $scrollTopDiff : 0 ) + 'px'
});
});

绝对值:http://jsfiddle.net/CpM8H/3/

$(window).scroll(function (e) {
$scrollTop = $(this).scrollTop();

$('#sticky').css({
'top': ( $scrollTop > 46 ? $scrollTop : 46 ) + 'px'
});
});

如果你真的需要在 fixed 和 absolute 之间切换,这是我的第一个关于如何做到这一点的方法,但是粘性内容可能会跳来跳去:

$(window).scroll(function (e) {
$el = $('#sticky');
if ($(this).scrollTop() > 46 ) {
$el.css({
'position': 'fixed',
'top': '0px'
});
} else {
$el.css({
'position': 'absolute',
'top': '46px'
});
}
});

关于javascript - 使一个 div 贴在屏幕顶部,但如果向上滚动,返回到它的原始位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13035752/

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