我有一个setInterval函数,它调用for循环,遍历我页面上的每个HTML文本项。如果有文本更新(使用AJAX检查),则html文本会以flashfunction()闪烁。
$(document).ready(function() {
setInterval("html_update(html_text)", 11000); // influences flash time
});
这适用于检查更新。但是如果有更新,动画的触发速度太快(大约是OUT循环for 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)
});
}
在for循环之外,动画jQuery以正确的速度运行。在for循环中,它快速闪烁4倍......
请帮助并谢谢!!
答案 0 :(得分:1)
我对'太快'意味着什么感到困惑,但我怀疑你想在触发动画之前引入延迟。你可以用jQuery的delay方法做到这一点。
$('selector').delay(3000).animate({...});