--- title: Element.animate() slug: Web/API/Element/animate translation_of: Web/API/Element/animate ---
Um {{domxref("Element")}} de interface do método animate() é um método de atalho o qual cria uma nova {{domxref("Animation")}}, e a aplica ao elemento, então executa a animação. Retorna a instância do objeto {{domxref("Animation")}} criado.
Elementos podem ter múltiplas animações aplicadas a eles. Você pode obter uma lista de animações que afetam um elemento chamando {{domxref("Element.getAnimations()")}}.
var animation = element.animate(keyframes, options);
keyframesopçõesOu um inteiro representando a duração da animação (em milisegundos), ou um objeto contendo uma ou mais propriedades de tempo:id {{optional_inline}}DOMString com a qual a animação é referenciada. As seguintes opções atualmente não são embarcadas em nenhum lugar, porém serão adicionadas num futuro próximo.
composite {{optional_inline}}translateX(-200px) rotate(20deg).iterationComposite {{optional_inline}}accumulate or replace (see above). Defaults to replace.spacing {{optional_inline}}paced positions keyframes so that the distance between subsequent values of a specified paced property are equal, that is to say, keyframes are spaced further apart the greater the difference in their property values.
Retorna uma {{domxref("Animation")}}.
Na demonstração Down the Rabbit Hole (with the Web Animation API), nós usamos o método conveniente animate() para imediamente criar e executar uma animação no elemento #tunnel para faze-lo fluir em direção superior, infinitamente.
Note o array de quadros-chave passado e também o bloco de opções de temporização.
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")}} | {{CompatNo}} | {{ CompatGeckoDesktop("48.0")}} | {{CompatNo}} | 23 | {{CompatUnknown}} |
id option |
{{CompatChrome(50.0)}} | {{CompatNo}} | {{ CompatGeckoDesktop("48.0")}} | {{CompatNo}} | 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}} |