Wbudowane rozwiązanie Twojego problemu nie istnieje. jQuery Mobile nie ma rozwiązania, które będzie współdzielić nagłówek i stopkę pomiędzy załadowanymi stronami.
Jedyne co możesz zrobić, to dynamiczne wstrzykiwać je lub mieć je od samego początku. W twoim przypadku robisz to w nieodpowiednim momencie. Jeśli chcesz poprawnie dodać nagłówek i stopkę, musisz to zrobić podczas prawidłowego zdarzenia strony.
przykład roboczych: http://jsfiddle.net/Gajotres/xwrqn/
Swipe zmianie stron i zobaczyć jak to działa (nie chciałem zajmować się dodawanie przycisków na każdej stronie).
$(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));
});
Jeśli zrobisz to podczas tworzenia strony, to wywoła TYLKO jeden raz, gdy strona zostanie utworzona po raz pierwszy. Zawartość dynamiczna zostanie dodana, a ponieważ funkcja pagebeforecreate zostanie uruchomiona przed dodaniem znaczników zawartości, nie będziesz musiał się martwić stylizacją nagłówka i stopki.
Zwróć uwagę na atrybut "identyfikator danych": "stopka" dodana do każdego nagłówka i stopki, ponieważ tylko treść będzie animowana podczas przejścia strony, nagłówek i stopka będą wyglądać tak samo. Ponadto, jsFiddle ma błąd, przesuwając po stronach, przeskoczy 1-2px. To się nie stanie w rzeczywistym życiu.
Masz na myśli to, że zostały one naprawione podczas przejścia bez animacji? Czy może mieć ten sam nagłówek/stopkę dla wszystkich stron? – Omar
@Omar Ten sam nagłówek/stopka dla wszystkich stron .. Chciałbym, żeby były animowane, ale nie jest to duży problem, jeśli tylko sama strona jest animowana. – Muis