2012-07-23 18 views
8

Mam kilka animacji CSS3 połączonych z jednym div, ale chcę tylko, aby funkcja była wywoływana jako koniec ostatniej animacji.Wykryj, który element AnimationEnd został wywołany przez animacjęName

Użyłem zdarzenia animationEnd, aby móc wywołać tę funkcję, ale jak już powiedziałem, chcę tylko, aby działała na ostatniej animacji.

Czy istnieje sposób wykrywania z animacją zakończony przez sprawdzenie nazwy animacji, która wywołała zdarzenie animationEnd?

dzięki czemu mogę użyć instrukcji if, aby wyróżnić ostatnią animację.

+0

Um, odpowiedziałeś na własne pytanie: Sprawdź nazwę animati na wyzwolonym zdarzeniu [zdarzenie "animationEnd"] (http://www.w3.org/TR/css3-animations/#animation-events). –

+1

'if (event.animationName ===" myAnimation ") ...' –

+0

Argh! Nie mogłem czuć się bardziej głupio. To musi być lato. Thankyou Ray – Damon

Odpowiedz

7

Parametr jest wymagany podczas definiowania funkcji. Każda z nich powinna działać;

var $element = $('.eye').bind("webkitAnimationEnd oAnimationEnd msAnimationEnd animationend", function(event){ 
    if (event.originalEvent.animationName === "three") { 
     console.log('the event happened'); 
    } 
} 

Albo

var $element = $('.eye').bind("webkitAnimationEnd oAnimationEnd msAnimationEnd animationend", function(e){ 
    if (e.originalEvent.animationName === "three") { 
     console.log('the event happened'); 
    } 
} 
+0

Już próbowałem, że Pan Clegg – Damon

+0

Nie sądzę, że można powiązać wiele warunków, takich jak to. Czy to pomoże: http://jsfiddle.net/HeX5E/ – mattclegg

5

nie wiem dlaczego ... ale mogę złapać się animationName tylko e.originalEvent.animationName

więc najlepszym rozwiązaniem jest:

function getAnimationName(e) { 
    if(e.animationName != undefined) return e.animationName; 
    if(e.originalEvent.animationName != undefined) return e.originalEvent.animationName; 
    else return undefined; 
} 
+1

Myślę, że jeśli używasz jQuery, to zdarzenie jest całe jQuery-ified, więc musisz uzyskać dostęp do oryginalnego zdarzenia, aby znaleźć właściwość animationName. –

Powiązane problemy