forループを呼び出し、ページの各HTMLテキスト項目をループするsetInterval関数があります。 (AJAXでチェックされた)テキスト更新がある場合、htmlテキストはflashfunction()で点滅します。Javascript ForループでsetIntervalを使用すると、jQueryアニメーションが速すぎる
$(document).ready(function() {
setInterval("html_update(html_text)", 11000); // influences flash time
});
これは、アップデートの確認に適しています。しかし、更新があると、アニメーションが非常に速くトリガされます(forループの外側の約4倍の速さ)!
ここには、更新があるかどうかを確認するためにhtmlテキストボックスの配列をチェックするコードがあります。アップデートがある場合、ボックスは点滅します:
for (var i=0; i < id_array_len; i++) {
....some AJAX calls here...
if (httpRequest.ResponseText == 'update') {
$("#htmltext").css("background", color);
$("#htmltext").animate({ "opacity" : 0.4 }, 700, function() {
$("#htmltext"+id).css("background", color);
$("#meme"+id).animate({ "opacity" : 1 }, 300)
});
}
アニメーションjQueryは正しい速度で動作します。 forループの内部では、すぐに4倍速で点滅します...
お手数ですが、ありがとうございます!
あなたの質問はかなり不明です。どのアニメーションを「速すぎる」と言いますか?更新されたアイテムを同時にフラッシュしたくないのですか?第2の 'setTimeout'で何を達成しようとしていましたか? –
助けてくれてありがとう。つまり、アニメーションはforループ内で4倍速く実行されます。それはforループの外側で正しい速度で実行されます。私はちょうどsetTimeoutを試していた - うまくいきませんでした。ありがとう! –