繁体   English   中英

带有setInterval的Javascript For Loop使jQuery动画过快

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM