0

嗨,我正在使用jQuery 鼠标滚轮扩展

它使用以下绑定

$('html').bind('mousewheel', function(event, delta) {
  window.scrollBy(-120 * delta, 0);
  return false;
}); 

增量由鼠标滚轮移动和页面水平滚动确定。

一切都很好,除非您将光标移动到没有文本或图像的空白空间,通常没有 html 元素,然后鼠标滚轮移动突然无响应。我很肯定这是因为绑定是如何工作的。

我制作了一个不可见的 100% x 100% 固定 pos div 来测试我的理论,并且滚动效果很好。虽然这对我来说似乎是一个 hack,但我想知道这段代码的正确实现。

我怎样才能让这个函数在整个浏览器页面上被调用?

太感谢了!

更新:大卫主动在这里用他的代码制作了一个测试页面。谁能告诉我它是否对你有用,对他有用吗?它对我不起作用,也就是说,只有当我的指针位于红色矩形上方时,我才能水平滚动页面。

4

2 回答 2

3

您是否尝试将其绑定到documentor window

$(document).bind('mousewheel', function(event, delta) {
  window.scrollBy(-120 * delta, 0);
  return false;
}); 
于 2010-02-15T17:19:56.417 回答
0

我遇到了完全相同的问题并设法解决,请参见此示例

CSS

html,body
{
    width:100%;
    height:100%;
    overflow:hidden;
    margin:0;
    padding:0;
}

#wrapper
{
    width:100%;
    height:100%;
    overflow:auto;
}

请注意,您需要将鼠标滚轮事件应用于#wrapper 元素。

这允许 wrapper 元素在依赖 html 或 body 之前保留可能未被占用的空间。

您可能会注意到宽度是由表格定义的,我发现这是水平网页中的最佳方法。

于 2013-02-28T17:45:36.433 回答