Baseline Widely available
window.requestAnimationFrame()
ã¡ã½ããã¯ããã©ã¦ã¶ã¼ã«ã¢ãã¡ã¼ã·ã§ã³ãè¡ããããã¨ãç¥ãããæå®ãã颿°ãå¼ã³åºãã¦æ¬¡ã®åæç»ã®åã«ã¢ãã¡ã¼ã·ã§ã³ãæ´æ°ãããã¨ãè¦æ±ãã¾ãããã®ã¡ã½ããã¯ãåæç»ã®åã«å¼ã³åºãããã³ã¼ã«ãã㯠1 åã弿°ã¨ãã¦åãã¾ãã
ã¡ã¢: 次ã®åæç»æã«å¥ã®ãã¬ã¼ã ãã¢ãã¡ã¼ã·ã§ã³ããããã¨ãã¯ãã³ã¼ã«ããã¯ã«ã¼ãã³èªèº«ã§ requestAnimationFrame()
ãå¼ã³åºããªããã°ãªãã¾ããã requestAnimationFrame()
㯠1 ã·ã§ããã§ãã
ãã®ã¡ã½ããã¯ããã¤ã§ãç»é¢ä¸ã§ã¢ãã¡ã¼ã·ã§ã³ã®æ´æ°æºåãæ´ã£ãæã«å¼ã³åºãã¦ãã ãããããã«ããããã©ã¦ã¶ã¼ã®æ¬¡ã®åæç»ãå®è¡ãããåã«ã¢ãã¡ã¼ã·ã§ã³é¢æ°ãå¼ã³åºããããã¨ãè¦æ±ãã¾ãããã®ã³ã¼ã«ããã¯ã®åæ°ã¯ãããã¦ãæ¯ç§ 60 åã§ãããä¸è¬çã«å¤ãã®ãã©ã¦ã¶ã¼ã§ã¯ W3C ã®å§åã«å¾ã£ã¦ããã£ã¹ãã¬ã¤ã®ãªãã¬ãã·ã¥ã¬ã¼ãã«åããã¦è¡ããã¾ãããã ããã³ã¼ã«ããã¯ã®ç¢ºçã¯ãããã¯ã°ã©ã¦ã³ãã®ã¿ããé ãã <iframe>
ã§ã¯ãããã©ã¼ãã³ã¹åä¸ãããããªã¼æ¶è²»ãæ¸ããããã«ä½ããªãã§ãããã
ã³ã¼ã«ããã¯ã¡ã½ããã«ã¯ã1 åã®å¼æ° DOMHighResTimeStamp
ãæ¸¡ããã¾ããããã¯ç¾å¨ã®æå»ãï¼time originããã®çµéããªç§æ°ã§ï¼ç¤ºãã¾ãã requestAnimationFrame()
ã«ãã£ã¦ãã¥ã¼ã«å
¥ããããè¤æ°ã®ã³ã¼ã«ããã¯ã 1 ã¤ã®ãã¬ã¼ã ã§èµ·åãå§ããã¨ã以åã®ãã¹ã¦ã®ã³ã¼ã«ããã¯ã®ã¯ã¼ã¯ãã¼ãã®è¨ç®ä¸ã«æéãçµéãã¦ãããããããåãã¿ã¤ã ã¹ã¿ã³ããåãåãã¾ãï¼ä»¥ä¸ã®ã³ã¼ãä¾ã§ã¯ãã¿ã¤ã ã¹ã¿ã³ããå¤åããã¨ããã¤ã¾ãæåã®ã³ã¼ã«ããã¯ã§ãã¬ã¼ã ãåä½ããã¦ãã¾ãï¼ããã®ã¿ã¤ã ã¹ã¿ã³ãã¯ãããªç§åä½ã®å°æ°ã§ãããæå°ç²¾åº¦ã¯ 1msï¼1000μsï¼ã§ãã
è¦å: ã¢ãã¡ã¼ã·ã§ã³ã 1 ãã¬ã¼ã ã§ã©ãã ãé²ãã ããè¨ç®ããå ´åã常ã«ç¬¬ 1 弿°ï¼ã¾ãã¯ç¾å¨æå»ãåå¾ããä»ã®æ¹æ³ï¼ã使ç¨ããããã«ãã¦ãã ãããããããªãã¨ãã¢ãã¡ã¼ã·ã§ã³ã¯ãªãã¬ãã·ã¥ã¬ã¼ãã®é«ãç»é¢ã§ã¯éãå®è¡ããã¾ãããããè¡ãæ¹æ³ã«ã¤ãã¦ã¯ã以ä¸ã®ä¾ãåç §ãã¦ãã ããã
æ§ærequestAnimationFrame(callback)
弿°
callback
次ã®åæç»ã§ã¢ãã¡ã¼ã·ã§ã³ãæ´æ°ããæã«å¼ã³åºã颿°ãæå®ãã¾ããã³ã¼ã«ããã¯é¢æ°ã¯ 1 åã®å¼æ° DOMHighResTimeStamp
ãåãåãã¾ãããã®å¼æ°ã¯ãrequestAnimationFrame
ãã³ã¼ã«ããã¯ã®å¼ã³åºããéå§ããæç¹ã®æå»ãããªãã¡ performance.now()
ããè¿ãããæå»ã示ãã¾ãã
long
ã®æ´æ°å¤ã§ããªã¯ã¨ã¹ã IDãã³ã¼ã«ããã¯ãªã¹ãå
ã®ã¨ã³ããªã¼ã䏿ã«èå¥ããããã®ãªã¯ã¨ã¹ã ID ãè¿ãã¾ãããã®å¤ã¯éã¼ãå¤ã§ãããå¤ãã®ãã®ãæ¨å®ãããã¨ã¯ã§ããªãã§ãããããã®å¤ã window.cancelAnimationFrame()
ã«æ¸¡ããã¨ã§ãã³ã¼ã«ããã¯é¢æ°ã®æ´æ°ã䏿¢ã§ãã¾ãã
ãã®ä¾ã§ã¯ãããè¦ç´ ã 2 ç§éï¼2000 ããªç§ï¼åä½ããã¦ãã¾ããè¦ç´ 㯠0.1px/ms ã®é度ã§å³ã«ç§»åããã®ã§ããã®ç¸å¯¾ä½ç½®ï¼CSS ãã¯ã»ã«åä½ï¼ã¯ã¢ãã¡ã¼ã·ã§ã³ã®éå§ããã®çµéæéï¼ããªç§ï¼ã®é¢æ°ã¨ã㦠0.1 * elapsed
ã§è¨ç®ãããã¨ãã§ãã¾ããè¦ç´ ã®æçµçãªä½ç½®ã¯ãåæä½ç½®ããå³ã¸ 200px ï¼0.1 * 2000
ï¼ã¨ãªãã¾ãã
const element = document.getElementById("some-element-you-want-to-animate");
let start, previousTimeStamp;
let done = false;
function step(timestamp) {
if (start === undefined) {
start = timestamp;
}
const elapsed = timestamp - start;
if (previousTimeStamp !== timestamp) {
// ããã§ Math.min() ã使ç¨ãã¦ãè¦ç´ ãã¡ããã© 200px ã§æ¢ã¾ãããã«ãã¾ãã
const count = Math.min(0.1 * elapsed, 200);
element.style.transform = `translateX(${count}px)`;
if (count === 200) done = true;
}
if (elapsed < 2000) {
// Stop the animation after 2 seconds
previousTimeStamp = timestamp;
if (!done) {
window.requestAnimationFrame(step);
}
}
}
window.requestAnimationFrame(step);
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4