CSS3 動畫結束時是有觸發事件的,這個之前竟然不了解。。除了JS動畫如果做純css3動畫的時候使用 delay 延時來控制動畫先后順序,或者通過setTimeout來控制,其實完全可以通過偵聽 animationEnd 的回調方法來依次控制動畫。
tt.addEventListener("webkitAnimationStart", function(){ //動畫開始時事件
console.log(1);//動畫開始時,控制臺輸出1
}, false);
tt.addEventListener("webkitTransitionEnd", function(){ //動畫開始時事件
console.log(1);//動畫結束時,控制臺輸出1
}, false);
tt.addEventListener("webkitAnimationIteration", function(){ //動畫重復運動時的事件
console.log(3);//第一遍動作完成時,控制臺輸出3
}, false);
當然Jquery 也可以控制
$('.dom').on("animationend webkitAnimationEnd",function(){
$('.dom2').addClass('move');
})
css3的過渡屬性transition,在動畫結束時,也存在結束的事件:webkitTransitionEnd;
注意:transition,也僅僅有這一個事件。
$('.dom').on("transitionEnd webkitTransitionEnd",function(){
$('.dom2').addClass('move');
})