Останавливаем карусель 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 в Минске. Мы будем рады помочь Вам в реализации Вашего проекта.

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

    2. t4k @ 20 ноя 2017 г. в 23:28

    Для версии 1.1 

    div.hover(  

    function() {  

    clearTimeout(autoTimeout);

     },  function() {  

    setupAutoScroll();

     } );             

  • Аватар

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

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

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

Добавление комментариев доступно только зарегистрированным пользователям