2014-01-15 137 views

回答

3

動態地添加工具欄(頁眉/頁腳)的方法很多。此外,jQuery Mobile 1.4提供內部外部工具欄,它取決於你想要一個工具條爲所有頁面,或爲每個頁面不同。

如果你想要一個內部工具欄,將它添加到當前頁面(活動頁面),如果你想要一個外部一個,把它添加到pageContainer。此外,您需要使用.toolbar().enhanceWithin()來增強它。

加入工具欄動態後,您重置當前頁面的高度動態添加,當他們增加額外的填充。 $.mobile.resetActivePageHeight()將刪除多餘的填充。

下面演示瞭如何將標頭添加到當前頁面。

/* get active page */ 
var page = $.mobile.pageContainer.pagecontainer("getActivePage"); 

/* add header */ 
$(".add").on("click", function() { 
    $(page).append($("<div/>", { 
     "data-role": "header", 
      "data-position": "fixed" 
    }).append($("<h1/>").text("Header"))).enhanceWithin(); 

    /* reset height */ 
    $.mobile.resetActivePageHeight(); 
}); 

/* change title */ 
$(".change").on("click", function() { 
    $(".ui-header .ui-title").text("new title"); 
}); 

Demo


要添加外部工具欄。

/* get pageContainer */ 
var pagecontainer = $.mobile.pageContainer; 

$(".add").on("click", function() { 
    $(pagecontainer).append($("<div/>", { 
     "data-role": "header", 
      "data-position": "fixed", 
      "data-theme": "a" 
    }).append($("<h1/>").text("Header"))).enhanceWithin(); 

    /* reset height */ 
    $.mobile.resetActivePageHeight(); 
}); 

Demo

+0

非常感謝您爲您的廣泛的答案。如果只需要標題本身(只是標題中的h1標籤的內容)需要更改,您是否會如此善意地解釋要做什麼?我試過改變h1的文本,而且這樣做的頭上的工作,但不會改變標題的內容,jqm似乎自動注入。 – doberkofler

+0

@materialdreams歡迎您。要改變標題,使用'$(「。ui-header .ui-title」)。text(「new title」);'。它在第一部分代碼和演示中進行了解釋。 – Omar

+0

再次感謝。請問我可以在jqm文檔中找到這種信息? – doberkofler