JavaScriptのrequestAnimationFrame()を使ってみます。
サンプルコード
requestAnimationFrame()は、指定した関数を画面の再描画毎に呼び出すことができます。
その際、引数にタイムスタンプを受け取ります。
例として、1秒ごとに10px広がっていく要素を実装してみます。
<div id="sample"></div>
stepという関数を設定して、引数の確認と要素の幅の設定を行います。
const step = (ts) => { console.log(ts); document.getElementById("sample").style.width = `${ts / 100}px` window.requestAnimationFrame(step); } window.requestAnimationFrame(step);
コールバック関数で受け取る引数がミリ秒なので、100で割って1秒毎に10px広がる設定にしています。
requestAnimationFrame()のデモページ
コメントが承認されるまで時間がかかります。