How do I delay a function call for 5 seconds? [duplicate]

I want widget.Rotator.rotate() to be delayed 5 seconds between calls... how do I do this in jQuery... it seems like jQuery's delay() wouldn't work for this...

2

2 Answers

You can use plain javascript, this will call your_func once, after 5 seconds:

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

If your function has no parameters and no explicit receiver you can call directly setTimeout(func, 5000)

There is also a plugin I've used once. It has oneTime and everyTime methods.

6
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 ); 

You Might Also Like