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{

        }
    });
});

还有另一个参考是我基于 mousescroll 制作的动画是:http: //jsfiddle.net/laksdesign/EATaU/

4

1 回答 1

1

为了mousescroll在 jQuery 中捕获事件,您需要使用插件或一些外部函数。我建议使用插件而不是重新发明轮子。请注意,在您提供的参考中,小提琴是如何使用mousewheel.js文件的——这就是您需要使用的插件。

有关如何使用插件的更多信息,请参阅此答案

您可以使用的示例插件:

您可以这样使用插件:

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

正如用户@Dom在上面的评论中建议的那样,另一个广泛使用的插件是:

于 2013-04-15T16:50:18.217 回答