【问题标题】:jquery animated horizontal scroll on mouse scroll eventjquery在鼠标滚动事件上动画水平滚动
【发布时间】:2013-04-15 16:36:55
【问题描述】:

我一直在为 mousescroll 事件制作 div 的动画水平偏移。 这是我到目前为止所做的链接,有人可以看到我做错了什么吗?

动画发生在我需要鼠标滚动的点击动作上。 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/

【问题讨论】:

  • @Dom 我相信用户可以使用几十个脚本,对吗?
  • @Evan 我知道,只是给他一个例子。
  • @Dom 我只是要求确保我在下面写的内容是正确的,而不是“击落”您的评论。谢谢
  • @Evan 据我所知,还有其他的,但是,我提供的那个是最广泛使用的。但你的回答绝对有效。

标签: jquery css html horizontal-scrolling mousewheel


【解决方案1】:

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

有关如何使用插件的更多信息,请参阅this answer

您可以使用的示例插件:

你会这样使用插件:

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

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

【讨论】:

  • 非常感谢您的回复。我最初确实尝试过,这似乎朝着我所教的 div 动画的正确方向发展。但是jsfiddle下面的链接是我正在寻找的正确的链接,动画与mousescroll水平发生,目前它恰好是一个垂直滚动jsfiddle.net/laksdesign/EATaU/1
  • @user2283274 我在该链接上收到 404 - 您是说它仍然无法正常运行吗?有什么问题?
  • 嘿,埃文,感谢您的回复,我找到了获得我一直在寻找的东西的方法。这是最终版本的链接jsfiddle.net/laksdesign/kmABb
猜你喜欢
  • 2014-07-20
  • 1970-01-01
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
相关资源
最近更新 更多