Я хочу, чтобы widget.Rotator.rotate()
задерживался на 5 секунд между вызовами ... как мне это сделать в jQuery ... похоже, что jQuery delay()
не сработает для этого ...
Как мне отложить вызов функции на 5 секунд?
comment
Вы хотите, чтобы он автоматически вызывался с задержкой в 5 секунд между вызовами, или он будет вызываться в ответ на действие пользователя, и вы хотите убедиться, что он ждет не менее 5 секунд после последнего вызова перед повторным вызовом? В последнем случае должен ли пользователь ставить события в очередь или ввод игнорировать, если не прошло 5 секунд?
- person Phrogz   schedule 19.01.2011
comment
Я понимаю, что это дубликат, но в 5 раз больше людей задаются этим вопросом из-за того, как составлен заголовок. Многие из нас ищут ключевое слово задержка, а не сон. И ответ тоже более общий. Так что, на мой взгляд, в данном случае этот вопрос более актуален, чем другие.
- person ǝsʞǝꓕ ɐuɹɐꓭ   schedule 10.10.2018
Ответы (1)
Вы можете использовать простой javascript, он вызовет your_func один раз, через 5 секунд:
setTimeout(function() { your_func(); }, 5000);
Если ваша функция не имеет параметров и явного получателя, вы можете вызвать напрямую setTimeout(func, 5000)
Еще есть плагин, который я использовал однажды. У него есть oneTime
и everyTime
методы.
person
BrunoLM
schedule
19.01.2011
Если параметры функции отсутствуют, не нужно заключать
function
- это нормально: setTimeout(your_func, 5000);
- person Oded; 19.01.2011
@Oded Вы уверены, что
Rotator.rotate()
не требует установки приемника на Rotator
? Если вы выполните то, что предлагаете, this
будет окном.
- person Phrogz; 19.01.2011
@Phrogz - Я говорил о механике
setTimout
.
- person Oded; 19.01.2011
Я предлагаю вам изменить свой ответ, чтобы он сказал: Если ваша функция не имеет параметров и явного получателя, или что-то подобное, но сформулированное более понятным для начинающих программистов.
- person Phrogz; 19.01.2011
Кроме того, вы можете использовать clearTimeout (myTimer), чтобы остановить вызов функции, если вы используете myTimer = setTimeout (...) при первом вызове setTimeout.
- person Vern Jensen; 08.08.2013
Лучший способ использовать setTimeout (() = ›{your_func ()}, 5000);
- person The Black Horse; 03.04.2020