Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
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.0 et 1.0 inclus ou null. Cela équivaut à indiquer des états de début et de fin en pourcentages dans les feuilles de style CSS avec @keyframes. Cette valeur vaut null si 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, computedOffset n'est jamais null.

easing

La fonction d'atténuation utilisée de cette image clé jusqu'à la suivante de la série.

composite

L'opération KeyframeEffect.composite utilisé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() :

js
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());
html
<div>🤣</div>

Spécifications

Spécification
Web Animations
# dom-keyframeeffect-getkeyframes

Compatibilité des navigateurs

Voir aussi