2010-02-15 126 views
0

嗨,我是使用jQuery mousewheel extension如何使整个浏览器窗口

jQuery选择工作,它使用以下绑定

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

增量是通过鼠标滚轮运动和页面确定水平滚动。

除了当您将光标移动到没有文本或图像的空白处时,一般情况下都没有html元素,那么鼠标轮运动突然没有响应,所有情况都很好。我是积极的,这是因为绑定是如何工作的。

我做了一个无形的100%100%固定pos div来测试我的理论和滚动将完美工作。虽然这对我来说似乎是一种破解,而且我对这段代码的正确实现感到疑惑。

我该如何让这个功能在浏览器页面被调用?

非常感谢!

更新:David主动用他的代码here做了测试页。任何人都可以告诉我它是否适合你,因为它对他有用?它不适用于我,也就是说,只有当我的指针位于红色矩形上时,才能水平滚动页面。

回答

3

您是否尝试将其绑定到documentwindow

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

啊,我只是试过,没有运气。仍然功能相同:( 是不寻常的?谢谢虽然!! – Mohammad 2010-02-15 17:41:19

+0

我可能听起来有点不喜欢在这里,但它有可能受到代码本身的启发,绑定功能,当滚轮运动? 链接:http ://github.com/brandonaaron/jquery-mousewheel/blob/master/jquery.mousewheel.js – Mohammad 2010-02-15 18:11:51

+1

在此处运行良好:http://jsbin.com/icodi – David 2010-02-15 20:07:15

0

我遇到了完全相同的问题并设法解决,请参阅this eg

CSS

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

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

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

这使得包装元素可以保留在依赖html或body之前可能未被占用的空间。

你可能会注意到宽度是由一个表格定义的,我发现这个表格是横向网页中最好的方法。