Я использую setTimeOut для управления автоматическим слайд-шоу.Триггер javascript setTimeOut события преждевременно
(Вы можете увидеть здесь: http://thingist.com/labs/ipad.shtml - в основном что-то довольно, чтобы смотреть, пока я работаю Изображения приходят из API Reddit в.)
код выглядит примерно так:
next() {
image_url = images[key]["url"]
$("#image").html(vsprintf("<img src='%s'>", [image_url]));
key++;
setTimeOut(function() { next(); }, 30000);
Проблема в том, что если я запускаю «следующую» функцию по-другому (например, с помощью div onclick), функция обратного вызова setTimeOut по-прежнему ставится в очередь. Таким образом, я буду «следующим» образом, но когда обратный вызов срабатывает, он снова «следующий». Если вы «следуете» много раз подряд, есть примерно 30 секунд с задержкой, которая последует за вами. (После того, как весь тайм-аут в очереди поставлен в очередь).
Есть ли способ преждевременного запуска обратного вызова setTimeOut? Или просто удалить его вообще?
's/setTimeOut/setTimeout /' –