jCarousel - как да получите пауза при задържане с автоматично превъртане?

JCarousel наскоро се промени (януари 2011 г.).
Преди имаше начин за прилагане на пауза при задържане с автоматично превъртане.

С новата версия не мога да реша как да накарам автоматичното превъртане да спре при задържане на курсора на мишката:
Бих искал превъртането да спре при преместване на мишката и да започне отново при преместване на мишката.
Някакви предложения?

Примерен код е тук - http://testsite3.dk/jcarousel/
Jcarousel тук: github.com/jsor/jcarousel< br>

Връзка към JQuery + javascript за зареждане на превключватели тук - http://testsite3.dk/jcarousel/autoscroll.txt


person user1152435    schedule 16.01.2012    source източник
comment
Този проблем е коригиран. Моля, погледнете: code.google.com/p/ jcarausel-lite-pause-on-hover-fixed   -  person saikatbiswas82    schedule 23.05.2012
comment
@saikatbiswas82 Вашата версия на jcarousellite изглежда не работи.   -  person Muhd    schedule 27.11.2012
comment
За тези, които искат да внедрят това в jcarousellite, вижте stackoverflow.com/questions/8013595/   -  person Muhd    schedule 27.11.2012


Отговори (4)


добавете този код във вашия jcarousel initCallback(carousel)

 carousel.clip.hover(function() {
    carousel.stopAuto();
}, function() {
    carousel.startAuto();
}); 
person mkp    schedule 22.03.2012

Не можах да накарам предишните примери да работят. Но получих следното да работи с най-новия jcarousel.

$('.carousel').jcarouselAutoscroll(
{
    interval: 4000, 
    scroll: '+=1',
    create: $('.carousel').hover(function() 
    {
        $(this).jcarouselAutoscroll('stop');
    },
    function() 
    {
        $(this).jcarouselAutoscroll('start');
    });
});
person Rona Kilmer    schedule 15.06.2012
comment
Опитахте това и вземете Uncaught Error: Cannot call methods on jcarouselAutoscroll prior to initialization; attempted to call method "stop" - person Howdy_McGee; 14.04.2014
comment
@Howdy_McGee трябваше да извикате $('.carousel').jcarousel(); преди да извикате $('.carousel').jcarouselAutoscroll(); - person metamaker; 30.07.2017

Актуализиране на отговора, за да бъдете актуални.

Вижте https://github.com/jsor/jcarousel/issues/568 за правилния отговор:

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

Можете да обвържете свои собствени събития при задържане на курсора на мишката в обратното извикване за създаване:

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

  });
person shaunsantacruz    schedule 16.01.2012
comment
Здравейте - благодаря за отговора. Това работи като чар на демото. Ще се използва на сайт, където се изтеглят палци от Vimeo и щракването върху палец зарежда видеоклип на страницата. Превъртането работи добре и тук, видеоклиповете се зареждат според очакванията и превъртането започва и спира при mouseenter и mouseleave. Въпреки това: ако спра над палците за повече от просто щракване, нещо като 5 сек. превъртането спира, но не започва отново при излизане от мишката (?). Включих връзка към javascript, използван за зареждане на палците във въпроса. Не мога да направя връзка към тестовия сайт, съжалявам, предложенията ще бъдат добре дошли. - person user1152435; 18.01.2012
comment
Задейства ли се събитието mouseleave, когато не работи според очакванията? - person shaunsantacruz; 18.01.2012
comment
Ако гледам превъртането във Firebug, виждам, че ритъмът на превъртането продължава, дори ако палците не се превъртат на екрана. Това е и в примера, и в сайта. Примерният код продължава както се очаква. Въпреки това на сайта (където палците се зареждат от Vimeo) виждам свитъка само веднъж и след това не повече. (В съответствие с него работи само ако задържането не е продължително). Изглежда, че трябва да се започне отново по някакъв начин... - person user1152435; 19.01.2012