我有幾個鏈接到一個div的CSS3動畫,但我只想要一個函數在最後一個動畫結束時被調用。檢測哪個AnimationEnd通過動畫名稱觸發了
我已經使用了animationEnd事件,以便我可以觸發上述功能,但正如我所說的,我只想讓它在最後一個動畫上運行。
有沒有一種方法來檢測動畫已結束通過檢查動畫的名稱已觸發animationEnd事件?
因此允許我使用if語句來選出最後一個動畫。
我有幾個鏈接到一個div的CSS3動畫,但我只想要一個函數在最後一個動畫結束時被調用。檢測哪個AnimationEnd通過動畫名稱觸發了
我已經使用了animationEnd事件,以便我可以觸發上述功能,但正如我所說的,我只想讓它在最後一個動畫上運行。
有沒有一種方法來檢測動畫已結束通過檢查動畫的名稱已觸發animationEnd事件?
因此允許我使用if語句來選出最後一個動畫。
當您定義函數時,該參數是必需的。其中任何一個都可以工作;
var $element = $('.eye').bind("webkitAnimationEnd oAnimationEnd msAnimationEnd animationend", function(event){
if (event.originalEvent.animationName === "three") {
console.log('the event happened');
}
}
或者,
var $element = $('.eye').bind("webkitAnimationEnd oAnimationEnd msAnimationEnd animationend", function(e){
if (e.originalEvent.animationName === "three") {
console.log('the event happened');
}
}
我不知道爲什麼...但我只能通過e.originalEvent.animationName
趕上了animationName
所以最好的選擇是:
function getAnimationName(e) {
if(e.animationName != undefined) return e.animationName;
if(e.originalEvent.animationName != undefined) return e.originalEvent.animationName;
else return undefined;
}
我想如果你使用jQuery,那麼事件都是jQuery-ified,所以你必須訪問原始事件才能找到animationName屬性。 – 2015-12-15 17:16:07
恩,你回答了你自己的問題:檢查animati的名字觸發了這個[animationEnd'事件](http://www.w3.org/TR/css3-animations/#animation-events)。 – 2012-07-23 19:42:35
'if(event.animationName ===「myAnimation」)...' – 2012-07-23 20:35:36
啊!我感覺不到更愚蠢。一定是今年夏天的高溫。 Thankyou Ray – Damon 2012-07-23 20:40:06