2012-06-05 15 views
5

quiero tener el mismo encabezado y pie de página en todas las páginas en mi aplicación móvil jQuery y controlarlo con un archivo, por ejemplo, como footer.html. Esto es fácil de usar. Incluye PHP pero no puedo porque estoy planeando usar esta aplicación con Phonegap.jQuery Mobile mismo pie de página en páginas diferentes

buscar alrededor me encontré usando

<div data-role="footer"> 
<div class="footerExt"></div> 
    </div> 

y javascript

$('.footerExt').load('footer.html') 

Sin embargo esto no está funcionando. Debo mencionar que soy principiante de JavaScript, apenas entiendo lo que sucede.

Muchas gracias

Respuesta

8

intento con suceso siguiente, funciona con mi código:

$('[data-role=page]').live('pageshow', function (event, ui) { 
      $("#" + event.target.id).find("[data-role=footer]").load("footer.html", function(){ 
       $("#" + event.target.id).find("[data-role=navbar]").navbar(); 
      }); 
     }); 

Este gist muestra el código completo.

+0

Muchas gracias funciona perfectamente! Justo lo que estaba buscando gracias de nuevo. :) – P22

+0

Esto funcionó bien, pero alguna idea de cómo hacer que funcione con IU-btn-activa? O es incluso posible porque si añado la clase de los botones de todos los botones se muestran como activos en la página principal. – P22

+0

idealmente debe aplicar el tema para distinguir un botón de otro http://jquerymobile.com/demos/1.1.0/docs/buttons-themes.html – dhaval

0

tiene que cargar el código html externo a un div con un data-role = "pie", por lo que necesita para cambiar el:

<div class="footerExt"></div> 

a

<div data-role="footer" class="footerExt"></div> 

y, por ejemplo su html pie de página podría tener un h3

<h3>This is your footer</h3> 
+0

Mi código ahora se ve como esto: '

' Pero desafortunadamente todavía no es w orking. No estoy muy seguro de lo que estoy haciendo mal. Gracias – P22

1

de jQuery 1.9 y por encima de live is now deprecated por favor utilice la función con el. En la consola se dan TypeError:. $ (...) en vivo no es una función

ejemplo cambiar su código

$('[data-role=page]').live('pageshow', function (event, ui) { 
      $("#" + event.target.id).find("[data-role=footer]").load("footer.html", function(){ 
       $("#" + event.target.id).find("[data-role=navbar]").navbar(); 
      }); 
     }); 

Reemplazar con

$('[data-role=page]').on('pageshow', function (event, ui) { 
       $("#" + event.target.id).find("[data-role=footer]").load("footer.html", function(){ 
        $("#" + event.target.id).find("[data-role=navbar]").navbar(); 
       }); 
      }); 
Cuestiones relacionadas