2012-01-16 1 views
9

JCarousel недавно изменился (январь 2011 года).
Раньше у него был способ реализовать паузу при наведении на автопрокрутку.
jCarousel - как сделать паузу на зависании с autoscroll?

С новой версией я не могу решить, как получить автопрокрутку остановиться на парении:
Я хотел бы свиток, чтобы остановить при наведении курсора мыши и начать снова на отведении указателя мыши.
Любые предложения?

Пример кода здесь - http://testsite3.dk/jcarousel/
Jcarousel здесь: github.com/jsor/jcarousel

Ссылка на JQuery + JavaScript для загрузки превью здесь - http://testsite3.dk/jcarousel/autoscroll.txt

+0

Эта проблема была решена. Пожалуйста, посмотрите: http://code.google.com/p/jcarausel-lite-pause-on-hover-fixed/ – saikatbiswas82

+0

@ saikatbiswas82 Ваша версия jcarousellite, похоже, не работает. – Muhd

+1

Для тех, кто хочет реализовать это в jcarousellite, см. Http://stackoverflow.com/questions/8013595/autoslide-jquery-jcarousel-lite-not-working – Muhd

ответ

0

Вы можете связать свои собственные данные события в создании обратного вызова:

.jcarouselAutoscroll({ 
    autostart: true, 
    interval: 1000, 
    scroll: '+=3', 
    create: $('#thumbs').bind('mouseenter', function() { 
       $(this).jcarouselAutoscroll('option', 'scroll', '+=0'); 
      }).bind('mouseleave', function() { 
       $(this).jcarouselAutoscroll('option', 'scroll', '+=3'); 
      }) 

    }); 
+0

Привет - спасибо за ваш ответ. Это работает как прелесть на демо. Он будет использоваться на сайте, где большие пальцы вытягиваются из Vimeo, и нажмите на большой палец, чтобы загрузить видео на странице. Скролл также отлично работает здесь, видео загружается так, как ожидалось, и свиток запускается и останавливается на мыши и мыши. Однако: если я остановимся на больших пальцах дольше, чем просто щелчок, что-то вроде 5 сек. прокрутка останавливается, но не начинается снова на mouseleave (?). Я включил ссылку на javascript, используемую для загрузки больших пальцев в вопрос. Я не могу ссылаться на тесты, извините, предложения были бы очень желанными. – user1152435

+0

Является ли стрельба из мышиной стрельбы, когда она не работает должным образом? – shaunsantacruz

+0

Если я смотрю прокрутку в Firebug, я вижу, что ритм прокрутки продолжается, даже если большие пальцы не прокручиваются по экрану. Это как в примере, так и на Сайте. Код примера продолжается, как ожидалось. Однако на Сайте (где большие пальцы загружены из Vimeo) я вижу свиток ** только один раз **, а затем больше нет. (В соответствии с этим работает только в том случае, если зависание не продлевается). Кажется, что нужно снова начать как-то .... – user1152435

13

добавить этот код в ваш jcarousel initCallback (карусельного)

carousel.clip.hover(function() { 
    carousel.stopAuto(); 
}, function() { 
    carousel.startAuto(); 
}); 
+0

это должен быть принятый ответ! – Luca

5

Я не мог использовать предыдущие примеры. Но я получил следующее, чтобы работать с последней jcarousel.

$('.carousel').jcarouselAutoscroll(
{ 
    interval: 4000, 
    scroll: '+=1', 
    create: $('.carousel').hover(function() 
    { 
     $(this).jcarouselAutoscroll('stop'); 
    }, 
    function() 
    { 
     $(this).jcarouselAutoscroll('start'); 
    }); 
}); 
+0

Пробовал это и получил 'Uncaught Error: не может вызывать методы на jcarouselAutoscroll до инициализации; попытался вызвать метод «stop» ' –

+0

@Howdy_McGee вам пришлось называть' $ ('. carousel'). jcarousel(); 'перед вызовом $ ('. carousel'). jcarouselAutoscroll(); – metamaker

1

Обновление ответа остается актуальным.

См https://github.com/jsor/jcarousel/issues/568 для правильного ответа:

$('.jcarousel').hover(function() { 
    $(this).jcarouselAutoscroll('stop'); 
}, function() { 
    $(this).jcarouselAutoscroll('start'); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^