| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/API/KeyframeEffect/KeyframeEffect | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2020.
Le constructeur KeyframeEffect() de l'API Web Animations retourne une nouvelle instance d'objet KeyframeEffect, et permet galement de cloner une instance d'objet d'effet d'image cl (keyframe en anglais) existante.
new KeyframeEffect(cible, imagesCles)
new KeyframeEffect(cible, imagesCles, options)
new KeyframeEffect(sourceImagesCles)
Le constructeur plusieurs arguments (voir ci-dessus) cre une nouvelle instance d'objet KeyframeEffect. Ses paramtres sont :
cibleL'lment DOM animer, ou null.
imagesClesUn objet keyframes ou null.
options FacultatifSoit un entier reprsentant la dure de l'animation (en millisecondes), soit un objet contenant un ou plusieurs des lments suivants :
delay Facultatif
direction Facultatif
normal), l'envers (reverse), change de direction aprs chaque itration (alternate), ou se droule vers l'arrire et change de direction aprs chaque itration (alternate-reverse). Par dfaut, "normal".duration Facultatif
easing Facultatif
<easing-function>, telle que "linear", "ease-in", "step-end", ou "cubic-bezier(0.42, 0, 0.58, 1)". Par dfaut, "linear".endDelay Facultatif
fill Facultatif
"backwards"), conservs aprs la fin de l'animation ("forwards"), ou les deux. Par dfaut, "none".iterationStart Facultatif
iterations Facultatif
1, et peut galement prendre une valeur de Infinity pour la faire rpter aussi longtemps que l'lment existe.composite Facultatif
replace.
add indique un effet additif, o chaque itration successive s'appuie sur la prcdente. Par exemple, avec transform, un
translateX(-200px) ne remplacerait pas une valeur antrieure
rotate(20deg) mais donnerait
translateX(-200px) rotate(20deg).accumulate est similaire mais un peu plus intelligent : blur(2)
et blur(5) deviennent blur(7), pas
blur(2) blur(5).replace crase la valeur prcdente avec la nouvelle.iterationComposite Facultatif
accumulate ou replace (voir ci-dessus). Par dfaut,
replace.pseudoElement Facultatif
string contenant un slecteur de pseudo-element, tel que "::before". Si prsent, l'effet est appliqu l'lment pseudo-slectionn de target, plutt qu' target lui-mme.Le constructeur un seul argument (voir ci-dessus) cre un clone d'une instance d'objet KeyframeEffect existante. Son paramtre est le suivant :
sourceKeyFramesUn objet KeyframeEffect que vous souhaitez cloner.
Dans l'exemple suivant, le constructeur KeyframeEffect est utilis pour crer un ensemble d'images cls qui dictent comment l'emoji doit rouler sur le sol :
const emoji = document.querySelector("div"); // l'lment 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);
rollingAnimation.play();
<div></div>
body {
box-shadow: 0 5px 5px pink;
}
div {
width: fit-content;
margin-left: calc(50% - 132px);
font-size: 64px;
user-select: none;
margin-top: 1rem;
}
| Spcification |
|---|
| Web Animations # dom-keyframeeffect-keyframeeffect |
Cette page a t modifie le 17 sept. 2025 par les contributeurices du MDN.
KeyframeEffectCertaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |