使用JQuery计时器调用js-function

时间:2010-02-19 09:04:22

标签: javascript jquery

无论如何都要为JQuery实现一个计时器,例如。每10秒需要调用一次js函数。

我尝试了以下

window.setTimeout(function() {
 alert('test');
}, 10000);

但这只会执行一次,然后再也不会执行。

8 个答案:

答案 0 :(得分:213)

您可以使用:

window.setInterval(yourfunction, 10000);

function yourfunction() { alert('test'); }

答案 1 :(得分:49)

window.setInterval(function() {
 alert('test');
}, 10000);

<强> window.setInterval

  

使用a重复调用函数   每次通话之间的固定时间延迟   那个功能。

答案 2 :(得分:45)

可能想查看 jQuery Timer 来管理一个或多个计时器。

http://code.google.com/p/jquery-timer/

var timer = $.timer(yourfunction, 10000);

function yourfunction() { alert('test'); }

然后你可以用:

来控制它
timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...

答案 3 :(得分:25)

setInterval是您想要的功能。每隔x毫秒重复一次。

window.setInterval(function() {
    alert('test');
}, 10000);

答案 4 :(得分:11)

如果你只需要触发一次并且已经开始使用该版本,jQuery 1.4还包括.delay(duration,[queueName])方法。

$('#foo').slideUp(300).delay(800).fadeIn(400);

http://api.jquery.com/delay/

哎呀....我的错误是你正在寻找一个继续触发的事件。我会把它留在这里,有人可能觉得它很有帮助。

答案 5 :(得分:3)

尝试jQueryTimers,它们具有很好的轮询功能

http://plugins.jquery.com/project/timers

答案 6 :(得分:2)

您可以使用 setInterval()方法,也可以调用 setTimeout() 来自您的自定义函数,例如

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();

答案 7 :(得分:-2)

function run() {
    window.setTimeout(
         "run()",
         1000
    );
}