获取命名函数在jQuery中不断重复

时间:2012-07-23 17:48:16

标签: jquery

我试图让一个功能在它启动后重复一遍,但我今天必须离开,因为我无法理解它。这是我的代码:

function runNext() {
    galleryNext().delay(1500).runNext();
}

提前致谢。

2 个答案:

答案 0 :(得分:17)

如果您想定期调用某个函数,则应使用setInterval()

var myFunction = function() {};
setInterval(myFunction, 1000); // call every 1000 milliseconds

如果您需要停止永久调用该函数,setInterval()将返回一个可用于停止计时器的ID。这是一个例子。

var myFunction = function() {};
var timer = setInterval(myFunction, 1000);
clearTimeout(timer);

答案 1 :(得分:2)

您不能像DOM方法那样附加用户违规函数。 jQuery链接适用于DOM操作和动画,因为每个进程都返回有问题的DOM节点。加delay只是延迟动画,你想要的是经过一段时间后运行一个函数,所以使用setTimeout:

(function foo() {
  setTimeout(function() { foo() },1000);
  })();