2017-08-29 53 views
1

我目前正在使用超時,但我想使用延遲。當我傳遞第一個動畫的第二個動畫時,我想讓另一個動畫開始,這是一個線性動畫。如何檢測每個動畫何時結束?使用延遲一秒來嵌套另一個動畫

http://jsfiddle.net/ohtkmes8/4/

$('#coolDiv2').css({ 
    left: $('#container').width() - $('#coolDiv').width() 
}); 
$("#coolDiv").css({ 
    left: $('#container').width() - ($('#coolDiv').width() + $('#coolDiv2').width()) 
}).animate({"left":"0px"}, 9000); 
setTimeout(function(){ 
    $('#coolDiv2').animate({"left":"50px"}, 9000); 
}, 1000); 

<div id="container"> 
    <div id="coolDiv">cool</div> 
    <div id="coolDiv2">other text</div> 
</div> 
+0

http://blog.teamtreehouse.com/using-jquery-to- detect-when-css3-animations-and-transitions-end – HumbleWebDev

回答

1

jQuery的animate方法接受一個回調參數當動畫完成被稱爲:

$("#coolDiv").css({ 
    left: $('#container').width() - ($('#coolDiv').width() + $('#coolDiv2').width()) 
}).animate({"left":"0px"}, 9000, function() { 
    $('#coolDiv2').animate({"left":"50px"}, 9000); 
}); 
+0

太好了,我需要它的時候第一個動畫開始(延遲1),在第二次啓動另一個之後。 – yavg