什么是Javascript / AJAX时间?

时间:2015-01-30 18:55:20

标签: javascript jquery ajax

时间是以毫秒还是秒为单位?我不确定为什么这两个剧本不会同时发生 - 这是一个相当大的延迟。

$(document).ready(function() {
    $("#idle").delay(300000).fadeIn(500);
});

var intervalHandler;
var counter = 0;

    $(document).ready(function() {
        $.ajaxSetup({ cache: false });
        intervalHandler = setInterval(function() {
            $('#chatresults').load('includes/chat.php');
            counter++;
            if (counter == 200) {
                clearInterval(intervalHandler);
            }
        }, 1500); 
    });

第二个脚本应该运行200次,每个脚本长度为1500(不确定单位 - 可能是毫秒),总共等于300000。出于某种原因,它并没有像第一个那样结束,它们之间有很大的延迟。有什么明显的原因吗?

1 个答案:

答案 0 :(得分:1)

JS计时器在使用时并不准确,因为在每两次迭代之间,执行实际代码会浪费一些时间。因此,迭代次数越多,时间就越多。

一个解决方案是设置一切都应该完成的时间并依赖于它而不是间隔+代码执行+间隔+代码执行等...

但在你的情况下,这可能是最好的方法:

if (counter == 200) {
    clearInterval(intervalHandler);
    $("#idle").fadeIn(500);
}