我想让widget.Rotator.rotate()在调用之间延迟5秒…如何在jQuery中做到这一点…看起来jQuery的delay()并不适用于此…


你可以使用纯javascript,这将调用your_func一次,5秒后:

setTimeout(function() { your_func(); }, 5000);

如果你的函数没有参数,也没有显式的接收器,你可以直接调用setTimeout(func, 5000)

还有一个我用过一次的插件。它有oneTime和everyTime方法。

jQuery定时器插件


var rotator = function(){
  widget.Rotator.rotate();
  setTimeout(rotator,5000);
};
rotator();

Or:

setInterval(
  function(){ widget.Rotator.rotate() },
  5000
);

Or:

setInterval(
  widget.Rotator.rotate.bind(widget.Rotator),
  5000
);