如何将函数调用延迟5秒?

时间:2011-01-19 17:33:46

标签: javascript jquery

我希望widget.Rotator.rotate()在调用之间延迟5秒...我如何在jQuery中执行此操作...似乎jQuery的delay()不能用于此...

2 个答案:

答案 0 :(得分:359)

你可以使用普通的javascript,这将在5秒后调用your_func:

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

如果您的功能没有参数且没有明确的接收器,您可以直接拨打setTimeout(func, 5000)

还有一个我曾经使用过的插件。它有oneTimeeveryTime方法。

答案 1 :(得分:20)

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

或者:

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

或者:

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