2013-10-25 66 views
1

我是jquery mobile的新手。我正在編寫一個移動應用程序,我希望它能夠動態地將所有設備上的屏幕尺寸設置爲data-role="page" 的內容。 做什麼是有效的方法? 我讀過關於必須在標題中設置的視口。它在調整頁面的高度和寬度時起什麼作用?基於設備動態分配jquery移動頁面的高度

謝謝。

+2

添加在標頭標記 和閱讀這個鏈接1)http://view.jquerymobile.com/1.3.2/dist/demos/widgets/pages/ – Ved

回答

3

這裏是一個的jsfiddle:http://jsfiddle.net/ezanker/Tx4kF/

由韋達提到的中繼檢視後,使用JavaScript來計算可用高度爲內容窗格:

function ScaleContentToDevice() { 
    scroll(0, 0); 
    var headerHeight = $("#jqmHeader:visible").outerHeight(); 
    var footerHeight = $("#jqmFooter:visible").outerHeight(); 
    var viewportHeight = $(window).height(); 

    var content = $("#jqmContent:visible"); 
    var contentMargins = content.outerHeight() - content.height(); 

    var contentheight = viewportHeight - headerHeight - footerHeight - contentMargins; 

    content.height(contentheight); 
} 

這裏假設你有沒有保證金或填充body/html:

html, body { 
    margin: 0; 
    padding : 0; 
} 

對pageshow事件執行縮放,如下所示:以及定位更改/調整大小。

$(document).on("pageshow", function(){ 
    ScaleContentToDevice(); 
}); 
$(window).on('resize orientationchange', function(){ ScaleContentToDevice() }); 
+0

視口描述說,在標題中設置視口會自動處理高度和寬度。但它不起作用。那麼它的實際意義是什麼? – sonam

+1

元標記不處理設置HTML元素高度以填充屏幕,而是幫助確定頁面在移動設備上的顯示方式:應該縮小到適合的範圍,還是應該只是部分可見等。請參閱http://www.javascriptkit.com/dhtmltutors/cssmediaqueries3.shtml瞭解更多信息。我的回答假設你試圖讓內容div完全填充頁面的可用高度,也許這不是你正在尋找的... – ezanker

+0

它對我來說非常好。但這在iPad上不起作用。如果我在這種情況下更改方向,則會顯示放大頁面並且不適合頁面。 – sonam