--- title: Element.animate() slug: Web/API/Element/animate tags: - API - Animacion - Elemento - Experimental - metodo - waapi - web animations api translation_of: Web/API/Element/animate ---
{{APIRef('Web Animations')}} {{SeeCompatTable}}
El método Element.animate()
es un método abreviado para crear y reproducir una animación en un elemento. Devuelve la instancia creada de un objeto {{domxref("Animation")}} .
element.animate(keyframes, options);
keyframes
Un Objeto formateado para representar un conjunto de fotogramas clave.
opciones
id {{optional_inline}}
Una propiedad única para animar()
: a DOMString
con la cual se hace referencia a la animación.Las siguientes opciones actualmente no se han enviado a todos los sitios, pero se añadirán en un futuro próximo.
composite {{optional_inline}}
Valores predeterminados a reemplazar
.
añadir dicta un efecto aditivo
, donde cada iteración sucesiva se basa en la anterior. Por ejemplo con transform
, a translateX(-200px)
no anularía un valor anterior rotate(20deg)
que resultaría translateX(-200px) rotate(20deg)
.acumular es similar pero un poco más inteligente
: blur(2)
y blur(5)
resultaría blur(7)
, no blur(2) blur(5)
.remplazar sobreescribe el valor anterior con el nuevo
.iterationComposite {{optional_inline}}
Se puede configurar para acumular o reemplazar
(ver arriba). Valores predeterminados para reemplazar
.spacing {{optional_inline}}
Valores predeterminados para distribuir
.
distribuir las posiciones de los
keyframes para que la diferencia entre el anterior y el posterior estén compensadas por igual , lo que es como decir, sin ninguna compensación, esto distribuirá equitativamente los keyframes a traves del tiempo de ejecución.situar las posiciones de los
keyframes de manera que igualen la diferencia entre los siguientes valores de una propiedad especifica sincronizada , lo que es como decir, que los keyframes estén más espaciados cuanto mayores sean los valores de sus propiedades.
Returns an {{domxref("Animation")}}.
En la demostración Down the Rabbit Hole (con la Web Animation API), utilizamos el método conveniente, animate()
para inmediatamente crear y ejecutar una animación en el elemento #tunnel
para hacerlo fluir hacia arriba, indefinidamente. Observar el orden de paso de los objetos por los keyframes y también el bloque de opciones de sincronización.
document.getElementById("tunnel").animate([ // keyframes { transform: 'translateY(0px)' }, { transform: 'translateY(-300px)' } ], { // timing options duration: 1000, iterations: Infinity });
Specification | Status | Comment |
---|---|---|
{{SpecName('Web Animations', '#the-animatable-interface', 'animate()' )}} | {{Spec2('Web Animations')}} | Initial definition |
{{CompatibilityTable}}
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | {{CompatChrome("36")}} | {{CompatUnknown}} | {{ CompatGeckoDesktop("48.0")}} | {{CompatUnknown}} | 23 | {{CompatUnknown}} |
id option |
{{CompatChrome(50.0)}} | {{CompatUnknown}} | {{ CompatGeckoDesktop("48.0")}} | {{CompatUnknown}} | 37 | {{CompatUnknown}} |
composite , iterationComposite , and spacing options |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatChrome(39.0)}} | {{CompatChrome(39.0)}} | {{ CompatGeckoMobile("48.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
id option |
{{CompatNo}} | {{CompatChrome(50.0)}} | {{CompatChrome(50.0)}} | {{ CompatGeckoMobile("48.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
composite , iterationComposite , and spacing options |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |