Foros del Web » Programando para Internet » Jquery »

expandir o desplegar menu al pasar a otra pagina automaticamente...

Estas en el tema de expandir o desplegar menu al pasar a otra pagina automaticamente... en el foro de Jquery en Foros del Web. Estimados, en el siguiente ejemplo ¿como podría hacer para que si estoy en "index1" y al pinchar sobre "index2" en el menú, cuando se cargue ...
  #1 (permalink)  
Antiguo 26/05/2013, 23:14
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
expandir o desplegar menu al pasar a otra pagina automaticamente...

Estimados, en el siguiente ejemplo ¿como podría hacer para que si estoy en "index1" y al pinchar sobre "index2" en el menú, cuando se cargue la página "index2" el menú aparezca con "Opciones 1" desplegado o expandido ya que estoy en la página que se encuentra como submenú en esta opción de menú??

¿Se entiende? creo que si.. bueno este es el código del menu y submenú..

Código PHP:
Ver original
  1. <ul class="menu">
  2.         <li><a href="">Opciones 1</a>
  3.             <ul>
  4.                 <li><a href="index1.php">index1</a></li>
  5.                 <li><a href="index2.php">Index2</a></li>
  6.                 <li><a href="index3.php">index3</a></li>
  7.             </ul>
  8.         </li>
  9.         <li>Opciones 2</a>
  10.             <ul>
  11.                 <li><a href="index4.php">index4</a></li>
  12.                 <li><a href="index5.php">index5</a></li>
  13.                 <li><a href="index6.php">index6</a></li>
  14.             </ul>
  15.         </li>
  16.     </ul>


Otra cosa que agregar es que actualmente para marcar en el menú donde me encuentro, he puesto algo como esto.... un id marcaddo como activo.. si es que lo está.

Código PHP:
Ver original
  1. id="if(strstr($_SERVER['REQUEST_URI'], 'index.php')){echo 'activo';}"



ahora dejo el codigo que desplega... el menú..

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     $(function() {
  3.    
  4.         var menu_ul = $('.menu > li > ul'),
  5.                menu_a  = $('.menu > li > a');
  6.        
  7.         menu_ul.hide();
  8.    
  9.         menu_a.click(function(e) {
  10.             e.preventDefault();
  11.             if(!$(this).hasClass('active')) {
  12.                 menu_a.removeClass('active');
  13.                 menu_ul.filter(':visible').slideUp('normal');
  14.                 $(this).addClass('active').next().stop(true,true).slideDown('normal');
  15.             } else {
  16.                 $(this).removeClass('active');
  17.                 $(this).next().stop(true,true).slideUp('normal');
  18.             }
  19.         });
  20.    
  21.     });
  22. </script>

Espero me puedan ayudar y que se haya entendido, dessde ya muchísimas gracias...
  #2 (permalink)  
Antiguo 27/05/2013, 03:51
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Respuesta: expandir o desplegar menu al pasar a otra pagina automaticamente...

Lo que tienes que hacer es un código en el archivo que dices, index2 que añada la clase active a Opciones1 y que quita esa clase de los demás (por si estaba antes en otro menú)

Saludos.
  #3 (permalink)  
Antiguo 27/05/2013, 22:33
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
Respuesta: expandir o desplegar menu al pasar a otra pagina automaticamente...

Si, pero el problema es que no quiero ni es lo mejor ponerlo de forma manual, por que si tuviese mil paginas tendría que poner a cada una un active a cada Opciones 1, 2, 3, etc....

Debido a que no es "Opciones 1" el que tiene el link, si no mas bien su submenú... pienso que una buena forma sería reconocer el <li> que contiene al submenú... por ejemplo...

si <li>index2</li> poner en negrita el <li> que la contiene...

Código:
<ul>
<li>contenedor
     <ul>
     <li>index2</li>
     </ul>
</li>
<li>.........
</li>
</ul>
como puedo poner esto en codigo?, jeje..

disculpen... puse este codigo aqui pensando en poder hacerlo con jquery... pero cualquier idea es bienvenida...

saludos.

Etiquetas: desplegar, expandir
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 17:25.