Foros del Web » Programando para Internet » Jquery »

Retutilizar menus

Estas en el tema de Retutilizar menus en el foro de Jquery en Foros del Web. Hola a todos Tengo preparada una especie de plantilla donde en la parte superior aparecen cuatro botones a modo de pestaña y la idea es ...
  #1 (permalink)  
Antiguo 15/05/2015, 10:30
 
Fecha de Ingreso: diciembre-2012
Ubicación: Madrid
Mensajes: 19
Antigüedad: 12 años
Puntos: 1
Retutilizar menus

Hola a todos
Tengo preparada una especie de plantilla donde en la parte superior aparecen cuatro botones a modo de pestaña y la idea es que al pulsar cada uno de ellos te lleven a una pagina distinta pero que en todas esas páginas se siga viendo la barra de botones.

No quiero tener que repetir esta barra de menú en cada una de las cuatro páginas ya que si tuviese que cambiar algo en la misma tendría que repetir el mismo trabajo 4 veces.

No puedo utilizar php asi que necesitaría hacerlo con jquery o similar.

¿Alguien me puede echar una mano? Gracias
  #2 (permalink)  
Antiguo 15/05/2015, 10:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Retutilizar menus

Podrías tener el menú en un archivo HTML y luego solo tendrías que insertarlo en cualquier otro mediante Ajax.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 16/05/2015, 03:45
 
Fecha de Ingreso: diciembre-2012
Ubicación: Madrid
Mensajes: 19
Antigüedad: 12 años
Puntos: 1
Respuesta: Retutilizar menus

Cita:
Iniciado por Alexis88 Ver Mensaje
Podrías tener el menú en un archivo HTML y luego solo tendrías que insertarlo en cualquier otro mediante [URL="http://www.nociondigital.com/webmasters/ajax-tutorial-carga-del-contenido-de-una-pagina-html-con-ajax-detalle-304.html"]Ajax[/URL].

Saludos
Gracias Alexis por tu respuesta pero en principio quiero evitar Ajax por que me queda muy muy grande.
He hecho pruebas sencillas con jquery y lo consigo pero cuando esto lo llevo a mi proyecto deja de funcionar, os adjunto el codigo por si sois tan amables de echarle un vistazo

https://www.dropbox.com/s/jxtl3xqggh732zw/Includes.rar?dl=0

Gracias

Off-topic: lo que pretendo es crear una pequeña aplicación web para que un amigo se copie la carpeta en su tablet y pueda acceder a la información de la misma sin necesidad de conectarse a internet, en una pestaña irá un mapa (esto ya lo tengo resuelto) y en el resto de pestañas información auxiliar. Por lo tanto el header y el footer sera igual siempre igual y solo me cambiará el body por lo que quiero utilizar includers
  #4 (permalink)  
Antiguo 16/05/2015, 09:24
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Retutilizar menus

El código que tengas, por favor, muéstralo acá usando el highlight respectivo que para eso está.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 16/05/2015, 12:40
 
Fecha de Ingreso: diciembre-2012
Ubicación: Madrid
Mensajes: 19
Antigüedad: 12 años
Puntos: 1
Respuesta: Retutilizar menus

Gracias Alexis intento escribirlo bien,
Me he dado cuenta de que en firefox funciona perfectamente pero en chrome por muchas vueltas que le doy no funciona
Este seria mi index.html
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <title>PRUEBA</title>
  3.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
  4.  
  5.     <script>
  6.         function loadContent()
  7.         {
  8.            $("#headerMain").load("header.html");
  9.         }
  10.     </script>
  11. </head>
  12.  
  13. <body>
  14.     <div id="headerMain"></div>
  15.     <div id="main"></div>
  16.     <div id="footer"></div>    
  17.     <script>loadContent()</script>
  18. </body>
  19. </html>

Y esto mi header.html (el archivo que le hago includer):
Código HTML:
Ver original
  1.   <nav role='navigation' class="main-nav" id="main-nav">
  2.     <ul id="main-nav-list">
  3.     <li>
  4.       <a href="#">
  5.         <div>
  6.           Home
  7.           <span>is where the heart is</span>
  8.         </div>
  9.       </a>
  10.     </li>
  11.     <li>
  12.       <a href="#">
  13.         <div>
  14.           About
  15.           <span>to blow this popcicle stand</span>
  16.         </div>
  17.       </a>
  18.     </li>
  19.     <li>
  20.       <a href="#">
  21.         <div>
  22.           Clients
  23.           <span>are beautiful people</span>
  24.         </div>
  25.       </a>
  26.     </li>
  27.     <li>
  28.       <a href="#">
  29.         <div>
  30.           Contact
  31.           <span>your mom she misses you</span>
  32.         </div>
  33.       </a>
  34.     </li>
  35.     </ul>
  36.   </nav>
  #6 (permalink)  
Antiguo 16/05/2015, 12:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Retutilizar menus

Revisa en la consola si se está generando algún mensaje de advertencia o error. En Chrome, pulsa la tecla F12 y del panel que se desplegará en la parte inferior de la ventana, selecciona 'Console'.

Por cierto, el método load de jQuery, genera una petición asíncrona, de manera que ya estás haciendo uso de Ajax.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 18/05/2015, 03:46
 
Fecha de Ingreso: diciembre-2012
Ubicación: Madrid
Mensajes: 19
Antigüedad: 12 años
Puntos: 1
Respuesta: Retutilizar menus

Gracias Alexis
Me sale el siguiente mensaje :

"XMLHttpRequest cannot load "

Etiquetas: javascript, menus, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:20.