Una soluzione integrata per il tuo problema non esiste. jQuery Mobile non ha una soluzione che condividerà un'intestazione e un piè di pagina tra le pagine caricate.
L'unica cosa che puoi fare è iniettarli dinamicamente o averli dall'inizio. Nel tuo caso lo stai facendo nel momento sbagliato. Se si desidera aggiungere correttamente un'intestazione e un piè di pagina, è necessario farlo durante l'evento di pagina corretto.
Un esempio di lavoro: http://jsfiddle.net/Gajotres/xwrqn/
Swipe per cambiare pagine e vedere come funziona (non ho voglia di perdere tempo con l'aggiunta di pulsanti in ogni pagina).
$(document).on('pagebeforecreate', '#article2, #article3', function(){
$('<div>').attr({'data-role':'header','data-theme':'b','data-position':'fixed','data-id':'footer'}).append('<h3>Article</h3>').appendTo($(this));
$('<div>').attr({'data-role':'footer','data-theme':'b','data-position':'fixed','data-id':'footer'}).append('<h3>Article footer</h3>').appendTo($(this));
});
Se lo si fa durante la pagebeforecreate questo innescherà solo una volta quando viene creata la pagina per una prima volta. Il contenuto dinamico verrà aggiunto e poiché pagebeforecreate viene attivato prima che il markup del contenuto sia stato migliorato, non sarà necessario preoccuparsi dello stile di intestazione e piè di pagina.
Si noti un attributo 'id-dati': 'footer' aggiunto a ogni intestazione e piè di pagina, poiché solo il contenuto verrà animato durante la transizione della pagina, l'intestazione e il piè di pagina avranno lo stesso aspetto. Inoltre, jsFiddle ha un bug, quando scorri tra le pagine salteranno a 1-2px. Questo non accadrà in un vero esempio di vita.
Vuoi dire averli risolti durante la transizione senza animazione? O hai la stessa intestazione/piè di pagina per tutte le pagine? – Omar
@Omar La stessa intestazione/piè di pagina per tutte le pagine. Mi piacerebbe che fossero animate, ma non è un grosso problema se solo la pagina stessa è animata. – Muis