2013-05-31 13 views
5

Czy istnieje sposób wykrywania w moim kodzie JavaScript, jeśli element jest obecnie animowany z przejściem CSS3?Sprawdź, czy przejście CSS3 jest uruchomione.

Również "transitionstart" -event (odpowiednik zdarzenia "transistionend") również się sprawdzi, ale nie mogę znaleźć żadnej wzmianki o nim w specyfikacji.

+1

http://stackoverflow.com/questions/2794148/css3-transition-events, http://stackoverflow.com/questions/ 7264899/detect-css-transitions-using-javascript-and-without-modernizr? – coma

+1

To niestety nie pomaga, ponieważ odpowiedzi w pierwszym linku koncentrują się na "transistionend", a drugi link omawia detekcję cech dla transkrypcji css3. :/ – johnny

+0

Czy moja odpowiedź była przydatna? – coma

Odpowiedz

2

Dobrze, ponieważ nie jest tylko wydarzeniem transitionend (http://www.w3.org/TR/css3-transitions/#transition-events) coś brzydki przychodzi mi do głowy:

http://jsfiddle.net/coma/psbBg/6/

JS

$(function() { 

    var div = $('div'); 
    var property = div.css('transition-property'); 
    var lastValue = div.css(property); 

    setInterval(function() { 

     if(lastValue !== div.css(property)) { 

      console.log('changed!'); 

     } 

     lastValue = div.css(property); 

    }, 10); 

}); 

może ulec poprawie wdrażania niestandardowych zdarzeń, dbanie o uzyskanie właściwej właściwości przejścia (lub właściwości) i więcej pomysłów, ale czy masz odpowiedni obraz?

Może trzeba podjąć inną ścieżkę na rozwiązywaniu problemu oryginalnego ...

+2

Myślę, że zamierzałeś sprawdzić "transformację", a nie "transistion", prawda? Ale mam pomysł. Wygląda na to, że jest trochę brutalnie zmuszony, ale to chyba jedyny sposób. Dzięki! – johnny

+0

oh, dzięki za wskazanie, teraz używam usługi przejściowej: http://jsfiddle.net/coma/psbBg/6/ – coma

Powiązane problemy