2013-03-04 72 views
0

我正在研究視差滾動條,並需要jQuery動畫的幫助。jQuery Scroller動畫

if($(window).scrollTop() >= 180){ 
    $("#wasBorn").animate({"top": "+=20px"}, "fast");  } 

的頁面滾動比180更在div移動,我怎麼能阻止它在特定的位置讓說top:350px

回答

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' 
    ); 
    } 
}