我正在研究视差滚动条,需要对jquery动画有一些帮助。
if($(window).scrollTop() >= 180){
$("#wasBorn").animate({"top": "+=20px"}, "fast"); }
当页面滚动超过180时,div正在移动,如何在特定位置停止它,让我们说top:350px
答案 0 :(得分:0)
if( $(window).scrollTop() >= 180
&& parseInt( $('#wasBorn').css('top') )<=330 ){
$("#wasBorn").animate({"top": "+=20px"}, "fast");
}
这不是一个完美的解决方案,因为#wasBorn
元素可能会在350px之前停止(例如,当top
值为320时触发它,因为,在动画之后,它将在340 - 小于目标350,但大于330的测试)。但是,由于我无法再看到你如何触发这一行动,这是我目前能够提出的最好的“从时尚”建议/解决方案。
可替换地...
$wasBorn = $('#wasBorn');
....
if( $(window).scrollTop() >= 180 ){
var curr = parseInt( $wasBorn.css('top') );
if( curr<350 ){
$wasBorn.animate(
{ top : Math.min( 350 , curr+20 ) } ,
'fast'
);
}
}