продолжайте прокручивать, когда мышь входит - PullRequest
2 голосов
/ 27 февраля 2012

Как мне это сделать?

    $('#forward').mouseenter(
        function() {
            $("#scroller").trigger("slideTo", [1, "next"]);         
        }
    );

    $('#backward').mouseenter(
        function() {
            $("#scroller").trigger("slideTo", [1, "back"]);         
        }
    );

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

ссылка: http://caroufredsel.frebsite.nl/code-examples/custom-events.php

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Я полагаю, вы ищете это http://jsfiddle.net/DNcAS/3/

$("#foo2").carouFredSel({
    auto    : {
        button          : "#foo2_play"
    },
    scroll  : {
        items           : 1,
        duration        : 1000,
        pauseDuration   : 0
    }
}).trigger("pause");


 $('#foo2_next').mouseenter(
        function() {
            $("#foo2").trigger("configuration", ["direction", "left"])
                      .trigger("play");
        }).mouseleave(function(){
            $("#foo2").trigger("pause"); 
        });

 $('#foo2_prev').mouseenter(
        function() {
            $("#foo2").trigger("configuration", ["direction", "right"])
                      .trigger("play");
        }).mouseleave(function(){
            $("#foo2").trigger("pause"); 
        });​

Для линейной прокрутки измените параметры конфигурации на http://jsfiddle.net/DNcAS/4/

scroll  : {
    items           : 1,
    duration        : 1000,
    easing          : "linear",
    pauseDuration   : 0
}

Или вы можете заменить mouseenterи mouseleave на hover http://jsfiddle.net/DNcAS/5/

пс: еще более короткая версия http://jsfiddle.net/DNcAS/6/

 $('#foo2_next,#foo2_prev').hover(function() {
            var dir = $(this).hasClass('next') ? 'left' : 'right'; 
            $("#foo2").trigger("configuration", ["direction", dir])
                      .trigger("play");
        }, function(){
            $("#foo2").trigger("pause"); 
        });
0 голосов
/ 27 февраля 2012

Вы имеете в виду что-то подобное?

var forwardInterval;
$('#forward').mouseenter(
    function() {
        forwardInterval = setInterval(function() {
             $("#scroller").trigger("slideTo", [1, "next"]);         
        }, 1000);
    }
);
$('#forward').mouseleave(
    function() {
        clearInterval(forwardInterval);
    }
);
...