Останавливаем карусель jcarousellite при наведении мыши (hover)

В компактном и удобном jQuery плагине jcarousellite есть одна маленькая проблема: карусель невозможно остановить при наведении на него мыши...

Остановить карусель jCarousellite

При создании веб-сайтов часто приходится использовать сторонние jQuery-плагины, позволяющие реализовать многие популярные функции -- такие, как, например, карусели. Плагин jcarousellite является одним из самых удобных и простых в использовании скриптов, использующихся для формирования каруселей. С одним небольшим "но": в нем отсутствует возможность остановить автопрокрутку (autoscroll) при наведении мышью. Вопрос этот обсуждается довольно долго, но автор плагина почему-то никак не реагирует на него.

Между тем, проблема решается довольно просто. Находим блок кода

if(o.auto)
	setInterval(function() {
		go(curr+o.scroll);
	}, o.auto+o.speed);

... и изменяем его на

if(o.auto) {
	autoScroll = setInterval(function() { 
		go(curr+o.scroll); 
	}, o.auto+o.speed); 
	div.hover(
		function() {
			clearInterval(autoScroll);
		},
		function() {
			autoScroll = setInterval(function() { 
				go(curr+o.scroll); 
				}, o.auto+o.speed);
		}
	);
}

Заинтересовались? Звоните нам по телефонам +375 (29) 774-35-89 и +375 (44) 774-35-89 в Минске. Мы будем рады помочь Вам в реализации Вашего проекта.

1 комментарий к посту «Останавливаем карусель jcarousellite при наведении мыши (hover)»
  • Аватар

    1. Эдуард @ 26 июл 2015 г. в 23:46

    Спасибо! С версией 1.0.1 - работает.

    Делаю новый проект, там резиновая верстка, так вот понадобилось чтобы галерея адаптировалась под ширину экрана. По событию resize я вычисляю ширину экрана и изменяю в зависимости от нее visible, которая зависит от ширины блоков и т.д. Проблема в том, что когда заново вызываю плагин - он накладывается на предыдуший и карусель начинает работать в двойном режиме и глючит, а как его остановить не нашел. Может знаете как переопределить его параметры когда он уже запущен?

Новый комментарий

Для редактирования комментария осталось 10 минут