Javascript 固定在页边距顶部的Div定位:向上滚动时为20px
我有一个div,当你向上滚动时,我想从窗口顶部固定为20px,当你向下滚动时,从页脚固定为40px。我的代码似乎不稳定,一定有更好的方法吗Javascript 固定在页边距顶部的Div定位:向上滚动时为20px,javascript,jquery,Javascript,Jquery,我有一个div,当你向上滚动时,我想从窗口顶部固定为20px,当你向下滚动时,从页脚固定为40px。我的代码似乎不稳定,一定有更好的方法吗 $(文档)。滚动(函数(){ 如果($(窗口).scrollTop()>=345){ $(#rightShipping').css({'position':'fixed','top':'0px'}); } if($(window).scrollTop()一个简单的想法-我会删除.rightCol块,只留下#rightShipping一个带有top:20px的
$(文档)。滚动(函数(){
如果($(窗口).scrollTop()>=345){
$(#rightShipping').css({'position':'fixed','top':'0px'});
}
if($(window).scrollTop()一个简单的想法-我会删除.rightCol
块,只留下#rightShipping
一个带有top:20px
的块,它的父级带有位置: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');
}
});
我真的不知道这是否有效,因为我还没有测试过它,我需要一些睡眠,但我希望它能有所帮助
祝你好运!可能的副本
$(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');
}
});