Я написал эту простую карусель. В данный момент я использую setInterval для запуска моей функции nextSlide через определенные промежутки времени. Я хочу отложить запуск таймера, когда пользователь нажимает на навигационные ссылки в течение определенного промежутка времени.
Проверьте это здесь Я хочу отложить запуск таймера, когда пользователь нажимает на навигацию ...
Я написал эту простую карусель. В данный момент я использую setInterval для запуска моей функции nextSlide через определенные промежутки времени. Я хочу отложить запуск таймера, когда пользователь нажимает на навигационные ссылки в течение определенного промежутка времени.
Проверьте это здесь Я хочу отложить запуск таймера, когда пользователь нажимает на навигацию ...
Я написал эту простую карусель. В данный момент я использую setInterval для запуска моей функции nextSlide через определенные промежутки времени. Я хочу отложить запуск таймера, когда пользователь нажимает на навигационные ссылки в течение определенного промежутка времени.
Проверьте это здесь http://jsbin.com/uzixi3/3/edit
Любая обратная связь о том, как написано остальное, тоже будет хорошей.
Вы можете сделать что-то вроде этого: http://jsbin.com/uzixi3/5/ edit
Часть интервала находится здесь:
var int = setInterval($.fn.nextSlide, 3000);
$("#slideNavigation a").click(function() {
clearInterval(int);
setTimeout(function() {
setInterval($.fn.nextSlide, 3000);
}, 10000);
});
Я также сделал некоторые другие настройки, например, вы можете использовать оператор switch
, чтобы сделать .nextSlide ()
намного больше читабельно и дешевле.
В целом, однако, нет причин делать эти функции методами расширения в самом jjquery, поскольку они не взаимодействуют с объектами, они могут быть просто методами, ограниченными до закрытия, например: http://jsbin.com / uzixi3 / 6 / edit
Если методы действительно выполнялись на $ ('# slideContainer')
, например $ ('# slideContainer'). NextSlide ()
и внутри ваших методов вы использовали this.animate ()
и this.css ()
он мог бы сделать немного больше смысла, просто некоторые мысли, которые могут помочь вам стать более гибкими в процессе.
Вы можете сохранить возвращаемое значение setInterval
в переменной, чтобы обращаться к нему позже - таким образом вы можете отменить его, если вам нужно, или перезапустить его .
Подробнее см. в статье MDC .
Основные сведения:
intervalID = setInterval(flashText, 1000);
//do something...
clearInterval(intervalID);