我正在使用jQuery鼠标滚轮插件,允许浏览器左右上下滚动感知。代码很简单:
$('body').bind('mousewheel', function(event, delta) {
this.scrollLeft -= (delta * 5);
});
您可以在水平滚动页面上测试此功能:http://jsfiddle.net/Ema2B/13/
这在chrome方面效果很好。向下滚动向右滚动内容窗格。如果你把它带到firefox,它不起作用。我运行了一些测试,firefox确实看到了正确的delta值,但由于某种原因它不理解 scrollLeft 。我设置了一个简单的测试来验证这个:
$("a.logo").on("click", function(){
$(body).scrollLeft(300);
});
同样,这在chrome中效果很好,但不是firefox。为什么firefox不允许使用scrollLeft?
注意:溢出:为正文设置隐藏以禁用滚动条。测试chrome和firefox中的小提琴,看看。
答案 0 :(得分:8)
为了让它在Firefox上运行,除了正文之外,选择器还必须有$(“html”)。请参阅下面的代码:
$("html, body").mousewheel(function(event, delta) {
this.scrollLeft -= (delta * 30);
});