Animation: commitStyles() ã¡ã½ãã
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2020å¹´7æ.
commitStyles() ã¯ã¦ã§ãã¢ãã¡ã¼ã·ã§ã³ API ã® Animation ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ãã¢ãã¡ã¼ã·ã§ã³ã®ç¾å¨ã®ã¹ã¿ã¤ã«ã®è¨ç®å¤ãã¿ã¼ã²ããè¦ç´ ã® style ã«æ¸ãè¾¼ã¿ã¾ãã commitStyles() ã¯ã¢ãã¡ã¼ã·ã§ã³ãèªååé¤ããã¦ãã¦ããã¾ãåä½ãã¾ãã
commitStyles() 㯠fill ã¨çµã¿åããã¦ä½¿ç¨ãããã¨ãã§ããã¢ãã¡ã¼ã·ã§ã³ãçµãã£ãå¾ãæçµçãªç¶æ
ãç¶æããããã¨ãã§ãã¾ããåãå¹æã¯ fill ã ãã§ãå¾ããã¾ãããç¡æéã«æºããã¢ãã¡ã¼ã·ã§ã³ã使ç¨ãããã¨ã¯æ¨å¥¨ããã¾ãããã¢ãã¡ã¼ã·ã§ã³ã¯ãã¹ã¦ã®éçã¹ã¿ã¤ã«ãããåªå
ããã¾ãã®ã§ãç¡æéã®å¡ãã¤ã¶ãã¢ãã¡ã¼ã·ã§ã³ã¯å¯¾è±¡ã¨ããè¦ç´ ãé常ã®ã¹ã¿ã¤ã«è¨å®ãããããã¨ã妨ããå¯è½æ§ãããã¾ãã
commitStyles() ã使ç¨ãããã¨ãã§ãã¾ã ã¹ã¿ã¤ã«è¨å®ã¯è¦ç´ ã® style 屿§ã«æ¸ãè¾¼ã¾ãã¾ãã
æ§æ
commitStyles()
弿°
ãªãã
è¿å¤
ãªã (undefined)ã
ä¾
>ã¢ãã¡ã¼ã·ã§ã³ã®æå¾ã®ç¶æ ã確å®
ãã®ä¾ã§ã¯ã"Commit styles" 㨠"Fill forwards" ã¨ã©ãã«ä»ãããã2ã¤ã®ãã¿ã³ãããã¾ããã©ã¡ãã®ãã¿ã³ãã¯ãªãã¯ããã¨ã¢ãã¡ã¼ã·ã§ã³ããã¢ãã¡ã¼ã·ã§ã³ã®æçµç¶æ ãç¶æãã¾ãã
ããããç°ãªãç¹ã¯ã "Fill forwards" 㯠fill: "forwards" ããã¯ããã©ã¦ã¶ã¼ãã¢ãã¡ã¼ã·ã§ã³ã®ç¶æ
ãç¡æéã«ããããã¯èªåçã«é¤å»ãããã¾ã§ç¶æããªããã°ãªããªããã¨ãæå³ãã¦ãã¾ãã
ãããã "Commit styles" ãã¿ã³ã¯ã¢ãã¡ã¼ã·ã§ã³ãçµäºããã®ãå¾
ã¡ã commitStyles() ãå¼ã³åºããã¦ããã¢ãã¡ã¼ã·ã§ã³ãåãæ¶ãã¾ãã®ã§ãå®äºããã¹ã¿ã¤ã«ã¯ã¢ãã¡ã¼ã·ã§ã³ã®ç¶æ
ã§ã¯ãªã style 屿§ã®å¤ã¨ãã¦åãè¾¼ã¾ãã¾ãã
HTML
<button class="commit-styles">Commit styles</button>
<br />
<button class="fill-forwards">Fill forwards</button>
JavaScript
const commitStyles = document.querySelector(".commit-styles");
let offset1 = 0;
commitStyles.addEventListener("click", async (event) => {
// Start the animation
offset1 = 100 - offset1;
const animation = commitStyles.animate(
{ transform: `translate(${offset1}px)` },
{ duration: 500, fill: "forwards" },
);
// Wait for the animation to finish
await animation.finished;
// Commit animation state to style attribute
animation.commitStyles();
// Cancel the animation
animation.cancel();
});
const fillForwards = document.querySelector(".fill-forwards");
let offset2 = 0;
fillForwards.addEventListener("click", async (event) => {
// Start the animation
offset2 = 100 - offset2;
const animation = fillForwards.animate(
{ transform: `translate(${offset2}px)` },
{ duration: 500, fill: "forwards" },
);
});
çµæ
仿§æ¸
| Specification |
|---|
| Web Animations > # dom-animation-commitstyles > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- ã¦ã§ãã¢ãã¡ã¼ã·ã§ã³ API
Animation: ã¦ã§ããã¼ã¸ã®ã¢ãã¡ã¼ã·ã§ã³ãå¶å¾¡ãããã¨ãã§ãããã®ä»ã®ã¡ã½ãããããããã£