我有一个div,当你向上滚动时,我希望从窗口顶部以20px固定,当你到达底部时,从页脚向上移动40px。我的代码似乎不稳定,必须有更好的方法吗? Page Link
$(document).scroll(function () {
if($(window).scrollTop() >= 345){
$('#rightShipping').css({'position' : 'fixed', 'top' : '0px'});
}
if($(window).scrollTop() <= 346){
$('#rightShipping').css({'position' : '', 'top' : ''});
}
console.log($(window).scrollTop());
});
答案 0 :(得分:0)
一个简单的想法 - 我会删除.rightCol
块,只留下#rightShipping
一个top: 20px
,父亲position: relative
。然后使用此代码:
$(document).scroll(function () {
var scrollTop = $(window).scrollTop();
var offsetTop = $('#rightShipping').offset().top;
var positionTop = $('#rightShipping').position().top;
if (scrollTop >= offsetTop - positionTop) {
$('#rightShipping').css('position', 'fixed');
} else {
$('#rightShipping').css('position' : 'relative');
}
});
我真的不知道这是否有效,因为我没有测试它,我需要睡一会儿,但我希望它有所帮助。
祝你好运!