我想运行以下代码:
ajaxUpdate(10);
每次迭代之间延迟1秒。我怎么能这样做?
答案 0 :(得分:39)
var i = window.setInterval( function(){
ajaxUpdate(10);
}, 1000 );
这将每秒调用ajaxUpdate,直到它停止为止。
如果你想稍后停止它:
window.clearInterval( i );
如果您希望仅运行一次,
var i = window.setTimeout( function(){
ajaxUpdate(10);
}, 1000 );
将会解决这个问题,如果你想在它运行一次之前阻止它运行
window.clearTimeout(i);
“window”前缀不是严格的nessecary,但它是一个好主意,因为你永远不知道别人可能想要在可见范围内创建具有相同名称且行为不同的其他东西。
如需完整参考,我总能找到MDC非常有帮助:
另外,您可能希望阅读John Resig撰写的关于计时器的文章,
答案 1 :(得分:6)
你也可以用
来做setTimeout(function() {ajaxUpdate(10)}, 1000);
答案 2 :(得分:5)
您可以使用setInterval()
。创建一个要调用的匿名函数,并使用以毫秒为单位的时间:
var myInterval = window.setInterval(function() { ajaxUpdate(10); }, 1000);
答案 3 :(得分:1)
您可以使用此JavaScript Timer课程。
答案 4 :(得分:0)
你也可以使用jQuery Timers:http://plugins.jquery.com/project/timers
答案 5 :(得分:-1)
您可以使用函数setTimeout(String fonc,Integer delay)。例如,要每秒执行代码,您可以执行以下操作:
window.setTimout("ajaxUpate",100);
希望我回答你的问题;)