JavaScript を使用してページ上のいくつかの要素をアニメーション化しようとしています (スプライトを使用した CSS アニメーションは、私が必要としているものには機能しません)。
私は現在、このようなことをしています。
function animate_element(current_id)
{
var next_id = parseInt(current_id, 10) + 1;
$('#lighthouse')[0].src = '/element_' + next_id + '.png';
if (next_id >= 8) {
next_id = 0;
}
setTimeout(function() {
animate_element(next_id);
}, 750);
}
技術的にはこれでうまくいきますが、これは同じようなことをするページ上の多くのアニメーションの 1 つになり、非効率的な方法ではないかと心配しています。
setTimeout を呼び出す前に使用するのがベスト プラクティスであることclearTimeout()
はわかっていますが、setTimeout を記録して再帰的にそれ自体に渡す方法がわかりません (意味がある場合)。
これを行うためのベスト プラクティスの方法に関するガイダンスをいただければ幸いです。