2012-02-26 8 views
2

どうすればよいですか?マウス入力時にスクロールし続ける

$('#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

は、私はあなたがhttp://jsfiddle.net/DNcAS/4/

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

として設定オプションを変更したり、あなたがhoverhttp://jsfiddle.net/DNcAS/5/

によって mouseentermouseleaveを置き換えることができ、リニアスクロールのために、この 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"); 
     });​ 

を探していると信じて

PS:さらに短いバージョン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

はい、これは私が探しているものです。ありがとうございました。 – Pennf0lio

+0

@ Pennf0lioさらに短くすることができますhttp://jsfiddle.net/DNcAS/6/ – Cheery

0

は、あなたがこのような何かを意味していますか?

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

こんにちはドミトリーNoginは、答えをあなたに感謝が、私はそれが私に取り組んでいない理由はわかりません。それは関数を適切に呼び出すが、それは連続的にトリガーしていない。それはちょうど1回実行されます。 – Pennf0lio

+0

'slideTo'の代わりに 'prev'と 'next'カスタムイベントを使用してみてください... –