2012-05-15 158 views
5

我正在開發模態窗口,可以滾動,像pinterest的能力。當它們在模型箱容器上被定義爲overflow: hiddenbodyoverflow: auto。這在桌面瀏覽器上運行得非常好,但我在iPad上進行的第一次測試(並且我假設可能在iOS上)通常會顯示一個問題:iPad禁用文檔滾動但不是div溢出滾動

當模式的滾動結束時,如果文檔長於模式滾動繼續。

我想這與只接受滾動,如果它是由模態或其容器觸發意向:

// Disable browser scrolling on iOS 
$(document).on('touchmove',function(e) { 
    if (($(e.target).attr('id') != id) && 
    ($(e.target).attr('id') != ('modal-'+id))) { 
     e.preventDefault(); 
    } 
}); 

而且它確實有效做嚴格說。只有在模態內滾動時,模式滾動和滾動頁面的時間纔有可能。

你有什麼想法嗎?

嘗試在你的iPad,如果你想(你必須點擊模式按鈕):http://www.onebigrobot.com/beta/altair/transforms-so

預先感謝您!

回答

7

小變化很強大!

所有的問題都解決了改變position: absoluteposition: fixed在模式容器上(如果需要也可以在背景的黑色面罩上)。事實上,絕對定位模式只能工作,因爲按鈕位於頁面的頂部。

隨着固定定位桌面瀏覽器完美工作,並在ipad上發生了一些有趣的事情。當模式的滾動結束時,頁面的滾動開始工作,但模態始終位於頂部。

我希望這個問題可能對某人有用。

+0

非常感謝萬億 – Nasir