2011-06-30 21 views
2

settimeoutを使用しているページで同時に3つのJavaScriptタイマーが動作していますが、これらのタイマーで呼び出された関数がスムーズに動作していないため、タイマーが待機しているようですお互いに、いくつかの時間がページをハングアップします。同じページの複数のタイマーがスムーズに動作しない

この現象を回避するには、jsタイマーを扱うときにベストプラクティスがありますか?

例:

時には、このようなjQueryのタイマーを使用します。

$(document).everyTime(1000, "blinkRed", function (i) { 
     $(price).toggleClass('valuered'); 
}, 10); 

をし、時々私は、通常のsettimeout JavaScript関数を使用します。

+3

いくつかの(関連する)コードを表示できますか? –

答えて

3

タイマーはお互いを待っているのではなく、タイマーが完了したときに呼び出される関数です。 したがって、(警告のような)ブロッキングコードを最初のタイマー機能に入れると、他のタイマーがオフになることはありません。

+0

はい、javascriptはシングルスレッドですが、別のタイマーは以前のものが復帰した後にのみ起動します。 – Prusse

+0

[OK]を、タイムアウトを増やすことで、より良く、よりスムーズにしました。 –

関連する問題