Escolar Documentos
Profissional Documentos
Cultura Documentos
By Craig Buckler
As animaes CSS3 so suaves e rpidas de implementar, mas, ao contrrio do JavaScript, voc no tem
controle frame-a-frame. Felizmente, voc pode aplicar manipuladores de eventos a qualquer elemento
para determinar o estado da animao. Isso permite controle fino, como reproduzir animaes
diferentes em sequncia.
#anim.enable
{
-webkit-animation: flash 1s ease 3;
-moz-animation: flash 1s ease 3;
-ms-animation: flash 1s ease 3;
-o-animation: flash 1s ease 3;
animation: flash 1s ease 3;
}
/* animation */
@-webkit-keyframes flash {
50% { opacity: 0; }
}
@-moz-keyframes flash {
50% { opacity: 0; }
}
@-ms-keyframes flash {
50% { opacity: 0; }
}
@-o-keyframes flash {
50% { opacity: 0; }
}
@keyframes flash {
50% { opacity: 0; }
}
Quando a classe "enable" aplicada ao elemento com ID "anim", a animao denominada "flash"
executada trs vezes. Cada iterao dura um segundo durante o qual o elemento desaparece e entra o
outro.
animationstart - O evento animationstart acionado quando a animao iniciada pela primeira vez.
Compatibilidade do navegador
No momento da escrita, Firefox, Chrome, Safari, Opera e IE10 suportam animao CSS3 e os
manipuladores de eventos associados. Alm disso, o Opera, IE10 e os navegadores webkit usam prefixos
e jogam em algumas mudanas de caso para uma boa medida ...
A maneira mais fcil em torno do prefixo shenanigans chamar "addEventListener" para todos os
nomes prefixados e no prefixados usando uma funo personalizada:
var pfx = ["webkit", "moz", "MS", "o", ""];
function PrefixedEvent(element, type, callback) {
for (var p = 0; p < pfx.length; p++) {
if (!pfx[p]) type = type.toLowerCase();
element.addEventListener(pfx[p]+type, callback, false);
}
}>code>
Os manipuladores de eventos de vrios navegadores podem agora ser atribudos usando uma nica linha
de cdigo:
// animation listener events
PrefixedEvent(anim, "AnimationStart", AnimationListener);
PrefixedEvent(anim, "AnimationIteration", AnimationListener);
PrefixedEvent(anim, "AnimationEnd", AnimationListener);
O objeto de evento
No cdigo acima, a funo "AnimationListener" chamada sempre que ocorre um evento de animao.
Um objeto de evento passado como um nico argumento. Alm das propriedades e mtodos padro,
ele tambm fornece:
ema NtoniA : o nome da animao CSS3 (por exemplo, flash)
eim TdpslaE : o tempo em segundos desde que a animao comeou.
Podemos, portanto, detectar quando a animao flash termina, p.
O cdigo poderia, por exemplo, remover a classe existente ou aplicar outra animao CSS3 em uma
seqncia especfica.