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

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨mars 2020⁩.

* Some parts of this feature may have varying levels of support.

L'interface KeyframeEffect de l'API Web Animations nous permet de créer des ensembles de propriétés et de valeurs animables, appelés images clés (keyframes en anglais). Ceux-ci peuvent ensuite être joués à l'aide du constructeur Animation().

AnimationEffect KeyframeEffect

Constructeur

KeyframeEffect()

Retourne une nouvelle instance d'objet KeyframeEffect, et permet également de cloner une instance d'objet d'effet de keyframe existante.

Propriétés

KeyframeEffect.target

Obtient et définit l'élément, ou l'élément d'origine du pseudo-élément, étant animé par cet objet. Cela peut être null pour les animations qui ne ciblent pas un élément ou un pseudo-élément spécifique.

KeyframeEffect.pseudoElement

Obtient et définit le sélecteur du pseudo-élément étant animé par cet objet. Cela peut être null pour les animations qui ne ciblent pas un pseudo-élément.

KeyframeEffect.iterationComposite

Obtient et définit l'opération de composition d'itération pour résoudre les changements de valeur de propriété de cet effet de keyframe.

KeyframeEffect.composite

Obtient et définit l'opération de composition pour résoudre les changements de valeur de propriété entre cet effet de keyframe et d'autres effets de keyframe.

Méthodes

Cette interface hérite de certaines de ses méthodes de son parent, AnimationEffect.

AnimationEffect.getComputedTiming()

Retourne les valeurs de timing calculées et actuelles pour cet effet de keyframe.

KeyframeEffect.getKeyframes()

Retourne les images clés calculées qui composent cet effet ainsi que leurs décalages de keyframe calculés.

AnimationEffect.getTiming()

Retourne l'objet associé à l'animation contenant toutes les valeurs de timing de l'animation.

KeyframeEffect.setKeyframes()

Remplace l'ensemble des images clés qui composent cet effet.

AnimationEffect.updateTiming()

Met à jour les propriétés de timing spécifiées.

Exemples

Dans l'exemple suivant, le constructeur KeyframeEffect est utilisé pour créer un ensemble de keyframes qui dictent comment l'emoji rofl doit rouler sur le sol :

js
const emoji = document.querySelector("div"); // l'élément à animer

const rollingKeyframes = new KeyframeEffect(
  emoji,
  [
    { transform: "translateX(0) rotate(0)" }, // image clé
    { transform: "translateX(200px) rotate(1.3turn)" }, // image clé
  ],
  {
    // options d'image clé
    duration: 2000,
    direction: "alternate",
    easing: "ease-in-out",
    iterations: "Infinity",
  },
);

const rollingAnimation = new Animation(rollingKeyframes, document.timeline);

// jouer l'animation "mort de rire"
rollingAnimation.play();
html
<div>🤣</div>

Spécifications

Specification
Web Animations
# the-keyframeeffect-interface

Compatibilité des navigateurs

Voir aussi