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