0

イベントで、divのこのアニメーション化された水平オフセットに取り組んでいmousescrollます。ここに私が今までやってきたことへのリンクがあります。誰かが私が間違っていることを見ることができますか?

アニメーションは、マウススクロールにも同じことが必要なクリックアクションで発生します。 http://jsfiddle.net/laksdesign/WvRR6/

jQuery(document).ready(function($) {

    $(".scroll").click(function(event) {
        event.preventDefault();
        $('#wrapper').animate({ scrollLeft: $('#wrapper').scrollLeft() + $(this.hash).offset().left }, 800);
    });

    $('body').bind('mousewheel', function(scroll){
        if(scroll.originalEvent.wheelDelta /120 > 0) {
            scroll.preventDefault();
            $('#wrapper').animate({ scrollLeft: $('#wrapper').scrollLeft() + $(this.hash).offset().left }, 800);
        } else{

        }
    });
});

マウススクロールに基づいてアニメーションを撮った別の参照があります: http://jsfiddle.net/laksdesign/EATaU/

4

1 に答える 1

1

jQuery でイベントをキャプチャするmousescrollには、プラグインまたは外部関数を使用する必要があります。車輪を再発明するのではなく、プラグインを使用することをお勧めします。提供した参照で、フィドルがファイルを使用している方法に注意してください。これは、mousewheel.js使用する必要があるプラグインです。

プラグインの使用方法の詳細については、この回答を参照してください

使用できるプラグインの例:

  • BrandonAaron.com - このサイトへのリンクは許可されていないため、代わりに Google で検索してください。

プラグインを次のように使用します。

// using bind
$('#my_elem').bind('mousewheel', function(event, delta) {
    console.log(delta);
});

上記のコメントでユーザー@Domが提案したように、広く使用されている別のプラグインは次のとおりです。

于 2013-04-15T16:50:18.217 に答える