Principe
La Web Animations API (WAAPI) est une API Javascript qui permet de générer des animations.
<div></div>
const div = document.querySelector("div");
const keyframes = [
{
borderRadius: 0,
backgroundColor: "red",
},
{
borderRadius: "50%",
transform: "translate(100px)",
},
{
backgroundColor: "green",
transform: "translate(200px)",
},
];
const options = {
duration: 4000,
iterations: "Infinity",
direction: "alternate",
};
const animation = div.animate(keyframes, options);
Définition : animate(keyframes, options)
animate est une méthode du constructeur Element qui permet de lancer l'animation
Définition : keyframes
keyframes est un tableau d'objets qui contiennent des propriétés CSS avec leur valeur.
Chaque objet représente une étape dans l'évolution de l'élément HTML visé.
offset : la propriété offset permet de modifier l’état d'avancement de chaque étape dans l'animation. Ce nombre est compris entre 0 et 1.
const div = document.querySelector("div");
const keyframes = [
{
borderRadius: 0,
backgroundColor: "red",
offset: 0, // 100%
},
{
borderRadius: "50%",
transform: "translate(100px)",
offset: 0.8, // 80%
},
{
backgroundColor: "green",
transform: "translate(200px)",
offset: 1, // 100%
},
];
const options = {
duration: 4000,
iterations: "Infinity",
direction: "alternate",
};
const animation = div.animate(keyframes, options);
Définition : options
options est un objet permettant de gérer différentes propriétés de l'animation.
duration : durée en millisecondes
easing : function d'évolution de l'animation (linear, ease, ease-in, ease-out, ease-in-out, cubic-bezier(a,b,c,d)
delay : retard en millisecondes
iterations : nombre de fois (un nombre ou Infinity)
direction : sens de l'animation (normal, reverse, alternate, alternate-reverse)
fill : état à la fin de l'animation (backwards, forwards, both)