jCarousel - как сделать паузу при наведении курсора с автопрокруткой? - PullRequest
9 голосов
/ 16 января 2012

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

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

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

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

Ответы [ 4 ]

13 голосов
/ 22 марта 2012

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

 carousel.clip.hover(function() {
    carousel.stopAuto();
}, function() {
    carousel.startAuto();
}); 
5 голосов
/ 15 июня 2012

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

$('.carousel').jcarouselAutoscroll(
{
    interval: 4000, 
    scroll: '+=1',
    create: $('.carousel').hover(function() 
    {
        $(this).jcarouselAutoscroll('stop');
    },
    function() 
    {
        $(this).jcarouselAutoscroll('start');
    });
});
1 голос
/ 14 августа 2014

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

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

$('.jcarousel').hover(function() {
    $(this).jcarouselAutoscroll('stop');
}, function() {
    $(this).jcarouselAutoscroll('start');
});
0 голосов
/ 17 января 2012

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

  .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' );
            })

  });
...