KeyframeEffect : la méthode getKeyframes()
Baseline
Widely available
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 renvoie 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
Renvoie 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é, spécifié 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 vaudranullsi 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 spécifiées dans cette image clé avec la valeur sous-jacente. Cette propriété sera absente si l'opération de composition spécifiée 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
| Specification |
|---|
| Web Animations> # dom-keyframeeffect-getkeyframes> |
Compatibilité des navigateurs
Chargement…
Voir aussi
- L'API Web Animations
- Méthode des objets
KeyframeEffect