2012-01-09 47 views
0

Gray dead spacejQuery Mobile的 - 灰色死角(圖)

鏈接到我的應用程序:http://gizeto.com/app_orange/index.html

我不明白爲什麼這發生在orientationchange。有人認識到這一點嗎?

+0

好像你的模板的高度短垂直,它的好的,如果我水平翻轉手機。你如何處理這個?你可以發佈一些HTML嗎? – MilkyWayJoe 2012-01-09 19:36:09

+0

我沒有處理從portait到風景的任何轉換,我以爲jQuery處理了這個?我所做的一切都是從美樂家創建一個主題並實施它。背景只是我猜想的一種顏色,沒有圖像或其他。 – 2012-01-09 19:37:24

+0

我不知道在你的情況下是否可能,但我會從jquery mobile查看'orientationchange'事件,然後修改你的尺寸。這是一個很好的示例:http://www.roccles.com/?p = 140 – MilkyWayJoe 2012-01-09 19:43:36

回答

0

看起來好像您正在使用iScroll作爲您的可滾動區域。如果是這種情況,那麼你將需要更新iScroll實例每當window對象上的resizeorientationchange事件觸發:

var myScroll = new iScroll(); 

//you can change `resize` to `orientationchange` if you only want to support mobile devices 
$(window).bind('resize', function() { 
    myScroll.refresh(); 
}); 

來源:http://cubiq.org/iscroll-4#refreshmethod

這應保持iScroll區域的正確文檔大小發生變化時的尺寸。如果iScroll容器(在你的情況,這是data-role="content"元素)仍然沒有更新它的高度,那麼你可能需要做手工:

$(window).bind('resize', function() { 
    $.mobile.activePage.children('[data-role="content"]').height('{HEIGHT HERE}px'); 
    myScroll.refresh(); 
}); 
+0

謝謝你的回答。在做你提出的建議時,我最終以http://gizeto.com/app_orange結束 - 背景似乎佔據了一切。正如你在我的代碼中看到的,我使用$(document).delegate('#start','pageinit',function(){})在我的page-div中進行綁定。那是對的嗎?我做錯了什麼,但我們似乎開車在正確的道路上... – 2012-01-10 09:49:58

+0

@FernandoRedondo當我去你的網站時,我得到這個錯誤:'iscroll.js:18 - 未捕獲TypeError:無法讀取屬性'parentNode' null'。我相信你在創建iScroll實例時需要引用你的容器元素:'var myScroll = new iScroll('content'); //這將以data-role =「content」元素爲目標。另外請注意,iScroll 4.x.x已經停用,並且優於3.x.x. – Jasper 2012-01-10 17:27:38

+0

@FernandoRedondo另外還有一個選項叫做'checkDOMChanges',如果設置爲'true',當DOM改變時應該自動更新iScroll實例。我沒有使用它,但它看起來很有希望:http://cubiq.org/iscroll#iscroll-syntax – Jasper 2012-01-10 17:29:13