2011-06-20 13 views
5

本当に簡単なタイムアウトを実行していますが、ページが遅くならず、何らかの理由で実行された後もメモリに保持されないようにしたいと考えています。実行した後にsetTimeoutsをクリアする必要がありますか?

$projects.each(function(index) { 
    var $this = $(this); 
    window.setTimeout(function() { 
     // animate 
    }, 300 * index); 
}); 
// Clear timeouts? 

私が推測しているのは、一度実行すると破棄されますが、ベストプラクティスに従いたいと考えています。

+0

タイムアウトをクリアするには、まずタイムアウトIDへの参照を保持する必要があります。 ;-) – RobG

+0

@RobGうん、それは分かっています。私はそれらをすべてアレイに保管するつもりだったが、それは不要だと思われる。 – Marko

答えて

4

いいえ、そうではありません。インターバルタイマー(「setInterval()」経由)、はい、停止したい場合。

クリアする必要がないタイムアウトをクリアすることは無害です。つまり、あなたがを実行した後にをクリアすると、ブラウザは不平を言うことはありません。

+0

ありがとうございました。タイムアウトを使用して一度に1つのプロジェクトのリストを表示していますので、連続して20回のタイムアウトを実行してもページが遅くなることはありません。しかし、物事の音によって、それぞれのタイマーが動いて破壊されます。再度、感謝します。 – Marko

関連する問題