0
我正在研究視差滾動條,並需要jQuery動畫的幫助。jQuery Scroller動畫
if($(window).scrollTop() >= 180){
$("#wasBorn").animate({"top": "+=20px"}, "fast"); }
的頁面滾動比180更在div移動,我怎麼能阻止它在特定的位置讓說top:350px
我正在研究視差滾動條,並需要jQuery動畫的幫助。jQuery Scroller動畫
if($(window).scrollTop() >= 180){
$("#wasBorn").animate({"top": "+=20px"}, "fast"); }
的頁面滾動比180更在div移動,我怎麼能阻止它在特定的位置讓說top:350px
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'
);
}
}