@chernyavskiy94

Как остановить слайдер?

Имеется скрипт слайдера.

$( document ).ready(function() {
		
	var auto=1;
	var slides=-1;
	var slider=0;
	$('.slider-item-fix').each(function() {
		slides++;
		var slidernav=slides+1;
		$(this).hide();
		$('.header-slider-list ul').html($('.header-slider-list ul').html()+'<li><a href="#"></a></li>');
	});
	$('.slider-item-fix').eq(0).show();
	$('.header-slider-list ul li').eq(0).find('a').addClass('active');
	
	$('.header-slider-list ul li').click(function(e) {
		e.preventDefault();
		auto=0;
		if (slider!=$(this).index()) {
			$('.slider-item-fix').eq(slider).fadeOut(800);
			$('.header-slider-list ul li').eq(slider).find('a').removeClass('active');
			slider=$(this).index();
			$('.slider-item-fix').eq(slider).fadeIn(800);
			$('.header-slider-list ul li').eq(slider).find('a').addClass('active');
		}
	});
	
	$('.slider-right').click(function() {
		auto=0;
		$('.slider-item-fix').eq(slider).fadeOut(1000);
		$('.header-slider-list ul li').eq(slider).find('a').removeClass('active');
		slider++;
		if (slider>slides) slider=0;
		$('.slider-item-fix').eq(slider).fadeIn(1000);
		$('.header-slider-list ul li').eq(slider).find('a').addClass('active');
	});
	
	$('.slider-left').click(function() {
		auto=0;
		$('.slider-item-fix').eq(slider).fadeOut(1000);
		$('.header-slider-list ul li').eq(slider).find('a').removeClass('active');
		slider--;
		if (slider<0) slider=slides;
		$('.slider-item-fix').eq(slider).fadeIn(1000);
		$('.header-slider-list ul li').eq(slider).find('a').addClass('active');
	});
	
	function sl() {
		if (auto==1) { $('.slider-item-fix').eq(slider).fadeOut(1000);
		$('.header-slider-list ul li').eq(slider).find('a').removeClass('active');
		slider++;
		if (slider>slides) slider=0;
		$('.slider-item-fix').eq(slider).fadeIn(1000);
		$('.header-slider-list ul li').eq(slider).find('a').addClass('active');
		setTimeout(sl, 3000); }
	};
	setTimeout(sl, 3000);
	
});


Сейчас он листает автоматически, как сделать так, чтоб он останавливался при наведении мыши на слайд и возобновлялся когда убрать.
  • Вопрос задан
  • 4053 просмотра
Решения вопроса 1
iusfof
@iusfof
Front-end developer
var sliderTimer = setInterval(nextSlide,4000);

$('.slider_block').hover(function(){
  clearInterval(sliderTimer);
}, function(){
  sliderTimer=setInterval(nextSlide,4000);
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
HighQuality
@HighQuality
☁ Ниндзя девелопер
Насколько я понял менять значение переменной auto по hover будет достаточно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы