5

我试图让一个功能在它开始后重复,但我今天必须离开,因为我无法弄清楚。这是我的代码:

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

提前致谢。

4

2 回答 2

18

如果你想定期调用一个函数,你应该使用setInterval().

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

如果您需要永远停止调用该函数, setInterval() 会返回一个 id,您也可以使用它来停止计时器。这是一个例子。

var myFunction = function() {};
var timer = setInterval(myFunction, 1000);
clearTimeout(timer);
于 2012-07-23T17:56:59.500 回答
2

您不能像 DOM 方法那样附加用户定义的函数。jQuery 链接适用于 DOM 操作和动画,因为每个进程都会返回相关的 DOM 节点。加上delay只是延迟动画,你想要的是在一段时间后不断运行一个函数,所以使用 setTimeout:

(function foo() {
  setTimeout(function() { foo() },1000);
  })();
于 2012-07-23T17:53:52.100 回答