Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2010, 06:13
Sonickles
 
Fecha de Ingreso: octubre-2003
Mensajes: 7
Antigüedad: 20 años, 6 meses
Puntos: 0
Ejemplo de menú desplegable con JQuery.

Bueno, he aquí un pequeño aporte sobre como hacer un menú desplegable en jquery. La idea es sencilla, lo que quería conseguir es que al hacer click en una sección, se abriera, y al hacer click en la misma, se cerrara. Si hay una sección abierta e intentamos abrir otra, la abierta se cierra y se abre ésta que hemos pulsado. Es bastante sencillo. Posteo el código.
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.     $("ul.subitem").hide(); //Ocultamos todos los submenús.
  4.     $("a.opcion").click(        //...al hacer click...
  5.         function(){
  6.             var everyULs = $('ul.item').find("ul");                 // everyULs = todas las uls.item                   
  7.             var thisUL = $(this).parent().find("ul.subitem");   // thisULs = ul en la que estamos trabajando
  8.             if(thisUL.is(':hidden')){                                           // si la ul en la que trabajamos esta oculta...
  9.                 everyULs.slideUp('fast');                   // ...cerramos todas para crear el efecto que queramos...
  10.                 thisUL.slideDown('fast');                   //  ...y abrimos la que estamos trabajando. Así creamos el efecto deseado.
  11.             }else{
  12.                 thisUL.slideUp('fast');                 // Si la ul está visible, la cerramos al hacer click.
  13.             }
  14.         }
  15.     );
  16. });
  17. </script>

y el html quedaría algo así:

Código HTML:
Ver original
  1. <ul class="item">
  2.     <li><a class="opcion">Anathema</a>
  3.         <ul class="subitem">
  4.             <li><a>Alone</a></li>
  5.             <li><a>Fragile Dreams</a></li>
  6.             <li><a>A Simply Mistake</a></li>
  7.         </ul>
  8.     </li>
  9.     <li><a class="opcion">Saturnus</a>
  10.         <ul class="subitem">
  11.             <li><a>Thou Art Free</a></li>
  12.             <li><a>Starres</a></li>
  13.             <li><a>The Fall of Nakkiel</a></li>
  14.         </ul>
  15.     </li>
  16.     <li><a class="opcion">Supertramp</a>
  17.         <ul class="subitem">
  18.             <li><a>Sister Moonshine</a></li>
  19.             <li><a>Logical Song</a></li>
  20.             <li><a>Surely</a></li>
  21.         </ul>
  22.     </li>
  23. </ul>

Sé que es un ejemplo muy trillado, pero bueno, espero que a alguien le sirva.
Saludos!!