scrollLeft在body上无法在firefox中运行

时间:2013-08-01 20:44:42

标签: jquery firefox scroll

我正在使用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中的小提琴,看看。

1 个答案:

答案 0 :(得分:8)

为了让它在Firefox上运行,除了正文之外,选择器还必须有$(“html”)。请参阅下面的代码:

$("html, body").mousewheel(function(event, delta) {
    this.scrollLeft -= (delta * 30);
});