时间是以毫秒还是秒为单位?我不确定为什么这两个剧本不会同时发生 - 这是一个相当大的延迟。
$(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。出于某种原因,它并没有像第一个那样结束,它们之间有很大的延迟。有什么明显的原因吗?
答案 0 :(得分:1)
JS计时器在使用时并不准确,因为在每两次迭代之间,执行实际代码会浪费一些时间。因此,迭代次数越多,时间就越多。
一个解决方案是设置一切都应该完成的时间并依赖于它而不是间隔+代码执行+间隔+代码执行等...
但在你的情况下,这可能是最好的方法:
if (counter == 200) {
clearInterval(intervalHandler);
$("#idle").fadeIn(500);
}