Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/09/2011, 22:55
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 9 meses
Puntos: 192
Respuesta: Mostrar ocultar paneles jQuerry

Si te fijás en el segundo ejemplo en la página que me pasaste, podés asignar la clase expand al elemento que querés que aparezca desplegado.

Opción 1 : PHP

Si estás haciendo el sitio en PHP, yo creo que sería más sólido si pasás variables con PHP. Podrías hacer algo así:

En la página 1, enlazás a la página 2 así:
Código HTML:
Ver original
  1. <a href="pagina2.php?expand=servicios">Servicios</a>

Y en la página 2, tendrías algo así:
Código PHP:
Ver original
  1. <?php ?>
  2. <ul class="menu">
  3.     <li <? echo $_GET['expand']=='inicio' ? "class='expand'" : ""; ?>><a href="#">Inicio</a>
  4.         <ul>
  5.             <li><a href="#">Sub menu</a></li>
  6.             <li><a href="#">Sub menu</a></li>
  7.             <li><a href="#">Sub menu</a></li>
  8.         </ul>
  9.     </li>
  10.     <li <? echo $_GET['expand']=='servicios' ? "class='expand'" : ""; ?>><a href="#">Servicios</a>
  11.         <ul>
  12.             <li><a href="#">Sub menu</a></li>
  13.             <li><a href="#">Sub menu</a></li>
  14.             <li><a href="#">Sub menu</a></li>
  15.         </ul>
  16.     </li>
  17.     <li <? echo $_GET['expand']=='contacto' ? "class='expand'" : ""; ?>><a href="#">Contacto</a>
  18.         <ul>
  19.             <li><a href="#">Sub menu</a></li>
  20.             <li><a href="#">Sub menu</a></li>
  21.             <li><a href="#">Sub menu</a></li>
  22.         </ul>
  23.     </li>
  24. </ul>
  25. <?php ?>

Entonces, si la variable $_GET['expand'] es "servicios", entonces se le asignará la clase expand a ese botón.


Opción 2 : jQuery

La otra opción que se me ocurre (si no estás usando PHP) es pasar un hash.

En la página 1, enlazás a la página 2 así:
Código HTML:
Ver original
  1. <a href="pagina2.html#servicios">Servicios</a>

Y en la página 2, tendrías un HTML algo así:
Código HTML:
Ver original
  1. <ul class="menu">
  2.     <li class="inicio"><a href="#">Inicio</a>
  3.         <ul>
  4.             <li><a href="#">Sub menu</a></li>
  5.             <li><a href="#">Sub menu</a></li>
  6.             <li><a href="#">Sub menu</a></li>
  7.         </ul>
  8.     </li>
  9.     <li class="servicios"><a href="#">Servicios</a>
  10.         <ul>
  11.             <li><a href="#">Sub menu</a></li>
  12.             <li><a href="#">Sub menu</a></li>
  13.             <li><a href="#">Sub menu</a></li>
  14.         </ul>
  15.     </li>
  16.     <li class="contacto"><a href="#">Contacto</a>
  17.         <ul>
  18.             <li><a href="#">Sub menu</a></li>
  19.             <li><a href="#">Sub menu</a></li>
  20.             <li><a href="#">Sub menu</a></li>
  21.         </ul>
  22.     </li>
  23. </ul>

Fijate que cada elemento tiene una clase que lo distingue (la clase será el nombre que pasaremos por el hash). Entonces con un pequeño script le asignamos la clase expand:

Código Javascript:
Ver original
  1. $(function(){
  2.     //analizar hash
  3.     var el_activo = location.hash ? location.hash.split('#')[1] : false;
  4.     if(el_activo){
  5.         $('li.' + el_activo).addClass('expand');
  6.     }
  7. });


Espero que al menos te haya dado una idea :P
__________________
nahueljose.com.ar