jquery水平滚动与鼠标滚轮

时间:2010-05-15 23:02:44

标签: jquery scroll mousewheel

我目前有一个sidecroller(http://www.studioimbrue.com)的网站,我正试图绑定鼠标滚轮向侧面滚动。目前我正在使用在thehorizo​​ntalway.com(名为thw.js)上找到的那个,但它似乎并不适用于所有浏览器(Chrome)。

我正试图让这个工作:http://brandonaaron.net/code/mousewheel/docs,简单地滚动整个窗口,没有别的。文档非常有限,所以我无法弄清楚。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:7)

我刚回答this question关于水平滚动div的问题,我还提供了一些使用鼠标滚轮的代码,或者只是用鼠标抓取并拖动...也许有些代码会给你一个想法?

稍微详细说明一下,鼠标滚轮功能可以为您提供事件对象和增量。

$('#container').bind('mousewheel', function(event,delta){
 if (delta > 0) {
   // mousewheel is going up; 
 } else {
   // mousewheel is going down 
 }
});

delta的值取决于您滚动滚轮的速度。如果你真的很努力,我已经看到了从+50到-50的范围:P

答案 1 :(得分:1)

我在评论中使用了$(window).bind方法,但它不会向后滚动,只能向前滚动,无论是向上还是向下滚动。

<script>
    $(window).bind('mousewheel', function(event, delta) {
        if (delta > 0) { window.scrollBy(-80,0); 
        } else window.scrollBy(80,0) ; 
    });
</script>

答案 2 :(得分:0)

上述评论中的此解决方案有效,但仅限于覆盖页面上的实际元素时。

$(window).bind('mousewheel', function(event, delta) {
    if (delta > 0) { window.scrollBy(-80,0); 
    } else window.scrollBy(80,0) ; 
});

当只是将鼠标悬停在空白区域时(例如,如果你的内容非常短并且底部还有一些窗口),它将适用于大约一个滚动,然后中断(直到你向后滚动),这就是为什么有人会认为滚动只能以一种方式运作。对于人们推荐的所有花式滚动插件,情况似乎也是如此。希望这有助于人们在未来找到解决方案。