Я создаю слайд-шоу, которое запускается автоматически при загрузке страницы, и оно останавливается, если кто-то нажимает кнопки «предыдущая / следующая» (clearInterval).Моя проблема в том, что я хотел бы перезапустить интервал через некоторое время и после того, как он был очищен.Я пытался с setTimeout, но я думаю, что я делаю что-то не так.
Ползунок основан на «ul» с изображениями внутри, и он покажет каждое из них, изменив поле списка.Кнопки расположены по бокам списка с атрибутом «data-mov», который будет возвращать «prev» или «next», сохраняя это значение в переменной с именем «dir».
Я оставляю фактическое значениеJS код, который у меня есть, ключевой момент в функции «слайд», я верю.
Большое спасибо заранее!
( function(){
var slider = $( '.slider' );
var slides = slider.find("li").length;
var actual = 0;
var width = 310;
var interval = setInterval( function(){
slide( 'next' );
}, 1500 );
function slide( dir, click ){
if ( click ){
clearInterval( interval );
}
( dir === "next" ) ? actual -- : actual ++;
if ( actual > 0 ) {
actual = ( slides - 1 ) * -1;
}else if ( actual <= ( slides * -1 ) ) {
actual = 0;
}
var margin = actual * width;
slider.animate({
marginLeft: margin
}, 450);
}
$('.btn-slide').on('click', function () {
var dir = $(this).data("mov");
//when the button is pressed we send "true" for the "click" argument
slide( dir , true);
});
})();