jquery - body 上的scrollLeft在firefox中不起作用

标签 jquery firefox scroll

我使用 jQuery 鼠标滚轮插件来允许浏览器将向上和向下滚动感知为向左和向右。代码很简单:

$('body').bind('mousewheel', function(event, delta) {
     this.scrollLeft -= (delta * 5);
});

您可以在水平滚动页面上测试此功能:http://jsfiddle.net/Ema2B/13/

这在 Chrome 中效果很好。向下滚动会向右滚动内容 Pane 。如果你把它带入火狐浏览器,它不起作用。我运行了一些测试,Firefox 确实看到了正确的增量值,但由于某种原因它无法理解 scrollLeft 。我设置了一个简单的测试来验证这一点:

$("a.logo").on("click", function(){
      $(body).scrollLeft(300);
});

同样,这在 Chrome 中效果很好,但在 Firefox 中则不然。为什么 Firefox 不允许scrollLeft?

注意:为正文设置 Overflow:hidden 以禁用滚动条。在 chrome 和 firefox 中测试一下 fiddle 看看。

最佳答案

要使其在 Firefox 上运行,选择器除了正文之外还必须包含 $(“html”)。请参阅下面的代码片段:

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

关于jquery - body 上的scrollLeft在firefox中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004186/

相关文章:

javascript - 在另一个窗口上绑定(bind)事件

如果用户单击输入字段,jQuery 停止 setTimeout

google-chrome - Vaadin 拖放组件

javascript - 垂直同步两个 div 的滚动。 (将两个 div 一起滚动)

javascript - 防止 iPhone 网络应用程序在输入字段的焦点上滚动

javascript - 滚动到另一个 DIV 时更改一个 DIV 的 css

javascript - 如何抓表数据的td值?

javascript - 使用 "this"进行多项选择

javascript - Web 应用程序在全局范围内声明的全局变量

html - firefox 显示的文字比其他的大