bootd
@bootd
Гугли и ты откроешь врата знаний!

Как запустить setInterval снова при обнулении его через clearTimeout?

Я написал такой код. Типа автопрокрутка. Прокручиваем от 1го до последнего. При наведении на slider, нужно прокрутку остановить.
var autoPlay = setInterval(function() {
        var act = $('.controlNav > li.act');

        act.next().trigger('click');
    }, 4000); 

    slider.hover(function(){
        clearTimeout(autoPlay);
    }, function(){
        // Как запустить снова?
    });

Это работает, но я уже голову сломал, а как запустить его снова, если я отвел курсор?
  • Вопрос задан
  • 2812 просмотров
Решения вопроса 1
@Camaro67
Помог? - жми "Отметить решением"
1. setInterval нужно останавливать с помощью clearInterval, а не clearTimeout.
2. В setInterval/setTimeout нужно передавать функцию, а не код.
function auto_play() {
	var act = $('.controlNav > li.act');
	act.next().trigger('click');
}

var autoPlay = setInterval( auto_play, 4000 );

slider.hover(function(){
	clearInterval(autoPlay);
}, function(){
	autoPlay = setInterval( auto_play, 4000 );
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы