[英]Javascript For Loop with setInterval makes jQuery animation too fast
我有一个setInterval函数,该函数调用for循环,循环浏览页面上的每个HTML文本项。 如果有文本更新(已通过AJAX选中),则HTML文本将通过flashfunction()闪烁。
$(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)
});
}
在for循环之外,动画jQuery以正确的速度工作。 在for循环中,它以4倍的速度闪烁...
请帮忙,谢谢!!
我对“太快”的含义感到困惑,但是我怀疑您想在触发动画之前引入延迟。 您可以使用jQuery的delay方法来做到这一点。
$('selector').delay(3000).animate({...});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.