2010-02-15 122 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之前可能未被佔用的空間。

你可能會注意到寬度是由一個表格定義的,我發現這個表格是橫向網頁中最好的方法。