Jquery 在某一点停止滚动
我正试图复制类似的东西 向下滚动时,div将与您一起滚动(Jquery 在某一点停止滚动,jquery,Jquery,我正试图复制类似的东西 向下滚动时,div将与您一起滚动(position:fixed),直到到达某个点,然后停止(position:absolute),当您继续向下滚动时,它将保留页面上的该位置(250px),直到您向上滚动以再次拾取它 现在,我的小提琴除了不保留它“掉下来”的位置之外,什么都可以做,相反,它会回到原来的位置 想法?我做了如下更改: if (y >= socialTop & y <= 150) { $('#static-social').addCl
position:fixed
),直到到达某个点,然后停止(position:absolute
),当您继续向下滚动时,它将保留页面上的该位置(250px
),直到您向上滚动以再次拾取它
现在,我的小提琴除了不保留它“掉下来”的位置之外,什么都可以做,相反,它会回到原来的位置
想法?我做了如下更改:
if (y >= socialTop & y <= 150) {
$('#static-social').addClass('fixed');
} else {
$('#static-social').removeClass('fixed');
}
如果(y>=socialTop&y=socialTop&y您需要计算窗口的scrollTop值,然后将其应用为top值并将位置设置为绝对值
$('element').css({
'top': $(window).scrollTop(),
'position': 'absolute'
});
当您保持滚动时,scrollTop值将更改,因此您只能执行一次。请使用变量跟踪元素的状态。据我所知,有三种:
相对的
固定的
绝对的
使用此变量,您还可以通过仅在需要时设置类来减少浏览器的压力。例如:
if( y > 100 && pos != 'fixed' ){
pos = 'fixed';
$('element').addClass('fixed');
}else if( y > 100 && pos != 'relative' ){
pos = 'relative';
$('element').addClass('relative');
}
希望这能有所帮助:)这是一种非常缓慢而密集的做事方式。您基本上是在用javascript替换浏览器的原生位置:固定功能。让我想起了我们为ie6做这件事的时候。
if( y > 100 && pos != 'fixed' ){
pos = 'fixed';
$('element').addClass('fixed');
}else if( y > 100 && pos != 'relative' ){
pos = 'relative';
$('element').addClass('relative');
}