2011-06-15 40 views
1

我有這兩個事情發生在我的jQuery的動畫網站:如何讓兩個jQuery動畫同時播放?

$('#myFirstDiv').animate({top: "15%"}, 3000); 
$('#mySecondDiv').animate({bottom: "15%"}, 3000); 

這兩個動畫似乎出現了一個又一個,而不是同時進行。在第二次比賽之前有一點點延遲,大約是十分之一秒。我想讓它們同時發生。

我嘗試這樣做:

$('#myFirstDiv').animate({top: "15%"}, 3000); 
$('#mySecondDiv').animate({bottom: "15%"}, {duration:3000, queue: false}); 

但它可能是錯誤的。

我將不勝感激如何正確地做到這一點的意見。

+0

你可以把你的代碼放到jsFiddle.net中,這樣我們可以測試它嗎? – 2011-06-15 18:22:34

+1

當你說「這可能是錯誤的」,你的意思是「它不工作」? – lonesomeday 2011-06-15 18:23:01

+1

按照預期在這裏工作http://jsfiddle.net/niklasvh/gYTYN/? – Niklas 2011-06-15 18:23:24

回答

2

你的代碼應該工作得很好。 jQuery中的動畫是異步的,這意味着如果您有兩個動畫調用,第二個動畫將在第一個動畫調用後立即調用,即使第一個動畫仍在進行中。如果任何時候你想讓第一個執行到第二個之前的末尾,你的代碼將看起來像

$('#myFirstDiv').animate({top: "15%"}, 3000, function(){ 
    $('#mySecondDiv').animate({bottom: "15%"}, 3000); 
}); 
+0

這裏的一切看起來不錯,雖然在Chrome瀏覽器中比在Firefox中更流暢。 [我忘了點擊「添加評論」哈哈,我已經打開了2個小時] – sjobe 2011-06-15 20:32:40