Как задержать вызов функции в течение 5 секунд?

Я хочу, чтобы widget.Rotator.rotate() задерживался на 5 секунд между вызовами... как это сделать в jQuery... похоже, что jQuery delay() не будет работать для этого...

Ответ 1

Вы можете использовать простой javascript, это вызовет ваш_func один раз, через 5 секунд:

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

Если у вашей функции нет параметров и нет явного приемника, вы можете напрямую позвонить setTimeout(func, 5000)

Существует также плагин, который я использовал один раз. Он имеет методы oneTime и everyTime.

Ответ 2

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

Или:

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

Или:

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