Come Attualmente sto facendo esattamente la stessa cosa ho intenzione di condividere un utile, implementazione cross-browser da un Marakana tutorial.
// First, we store the names of the event according to the browsers
var navigatorsProperties=['transitionend','OTransitionEnd','webkitTransitionEnd'];
//For each of them...
for(var i in navigatorsProperties)
{
//We attach it to our overlay div
el.addEventListener(navigatorsProperties[i],function()
{
// Here's the code we want to fire at transition End
console.log('transition end');
},false);
}
E 'da notare che IE10 supporta transizioni con transitionend
(vedi MSDN).
IE9 e sotto fare non transizioni di supporto (vedi caniuse.com) in modo che non sarà in grado di allegare qualsiasi eventListener ad una fine di transizione (in modo da non provare msTransitionend
o qualsiasi altra cosa per quei browser).
MODIFICA: Durante la lettura della documentazione di Modernizr su Github I sono incappato nella pagina dei polifondri del browser. Tra molti altri link utili ho trovato questo piccolo ma estremamente buono transitionend script.
Mente che gli esempi del Github README.md utilizzano jQuery ma la biblioteca richiede infatti nessuna libreria e dipendenze come è scritto in JavaScript vaniglia.
Come assegnarlo a una transizione particolare, come l'opacità? –
@Wraith - Non è possibile assegnarlo a una particolare transizione. Piuttosto, ascolti l'evento che spara sull'elemento. È quindi possibile ottenere le informazioni che stai cercando dall'oggetto evento. Vedi il mio aggiornamento. –
@Wraith: cercare "Rilevamento del completamento di una transizione" nella pagina a cui è stato collegato Joseph. 'propertyName': una stringa che indica il nome della proprietà CSS di cui è stata completata la transizione. 'ElapsedTime': Un float che indica il numero di secondi di esecuzione della transizione nel momento in cui l'evento è stato attivato. Questo valore non è influenzato dal valore del ritardo di transizione. –