KeyframeEffect : méthode getKeyframes()
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2020.
La méthode getKeyframes() de l'interface KeyframeEffect retourne un tableau des images clés (keyframes en anglais) calculées qui composent cette animation ainsi que leurs décalages calculés.
Syntaxe
getKeyframes()
Paramètres
Aucun.
Valeur de retour
Retourne une séquence d'objets avec le format suivant :
- paires propriété/valeur
-
Autant de paires propriété/valeur que contient chaque image clé de l'animation.
offset-
Le décalage de l'image clé, défini comme un nombre entre
0.0et1.0inclus ounull. Cela équivaut à indiquer des états de début et de fin en pourcentages dans les feuilles de style CSS avec@keyframes. Cette valeur vautnullsi l'image clé est espacée automatiquement. computedOffset-
Le décalage calculé pour cette image clé, déterminé lorsque la liste des images clés calculées a été produite. Contrairement à
offset, ci-dessus,computedOffsetn'est jamaisnull. easing-
La fonction d'atténuation utilisée de cette image clé jusqu'à la suivante de la série.
composite-
L'opération
KeyframeEffect.compositeutilisée pour combiner les valeurs définies dans cette image clé avec la valeur sous-jacente. Cette propriété est absente si l'opération de composition définie sur l'effet est utilisée.
Exemples
Dans l'exemple suivant, nous inspectons l'animation « rolling » pour voir ses images clés avec la méthode getKeyframes() :
const emoji = document.querySelector("div"); // élément à animer
const rollingKeyframes = new KeyframeEffect(
emoji,
[
{ transform: "translateX(0) rotate(0)" }, // image-clé
{ transform: "translateX(200px) rotate(1.3turn)" }, // image-clé
],
{
// options des images-clés
duration: 2000,
direction: "alternate",
easing: "ease-in-out",
iterations: "Infinity",
},
);
const rollingAnimation = new Animation(rollingKeyframes, document.timeline);
rollingAnimation.play();
// Tableau [ {…}, {…} ]
console.log(rollingAnimation.effect.getKeyframes());
<div>🤣</div>
Spécifications
| Spécification |
|---|
| Web Animations> # dom-keyframeeffect-getkeyframes> |
Compatibilité des navigateurs
Voir aussi
- L'API Web Animations
- Méthode des objets
KeyframeEffect