Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con desplegable

Estas en el tema de Problema con desplegable en el foro de Frameworks JS en Foros del Web. Buenas, estoy haciendo un desplegable que se hace visible al hacer click en un link del menu. El desplegable funciona casi al 100% y solo ...
  #1 (permalink)  
Antiguo 24/09/2011, 16:13
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 9 meses
Puntos: 5
Problema con desplegable

Buenas,

estoy haciendo un desplegable que se hace visible al hacer click en un link del menu. El desplegable funciona casi al 100% y solo hay un pequeño detalle que no consigo pulir.

El código funciona, se hace visible el div en su lugar, con la animación y todo eso. Si hago click de nuevo en el mismo link, se oculta...hasta ahí bien. El problema viene al intentar hacer que al clickear fuera del desplegable, el div se oculte de nuevo.

Pensé que usando el "blur" que ofrece jQuery lo solucionaría pero no es así ya que el desplegable tiene links y el blur incluye el propio desplegable así que los links quedan inservibles ya que al hacer click en el div, se oculta.

He intentado excluirlo del blur haciendo cosas tipo "event.target.id != $('div#logup')" como condición de un if pero...o no se hace así o lo ignora (no se nada de jQuery ni JS, lo que conseguí hoy no se ni como lo conseguí). Dejo el código para ver si alguien puede echarme una mano. El blur lo he borrado porque no me servia como lo tenía y no se me ha ocurrido nada más...así que pensé en dejarlo como estaba y ya esta...pero no pensé en que habian más desplegables...y si se abre otro, el actual no se oculta y da problemas esteticos.

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.          
  3.             $('a.lg').bind({
  4.                 click: function() {
  5.                     $('div#logup').fadeToggle(400);
  6.                 }
  7.             });            
  8.         });

Saludos y gracias.
  #2 (permalink)  
Antiguo 24/09/2011, 23:25
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: Problema con desplegable

Probá algo así:

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.          
  3.   $('a.lg').click(function(evento){
  4.     $('div#logup').fadeToggle(400);
  5.     evento.stopPropagation();//Evitar que se propague el evento
  6.     evento.preventDefault();
  7.   });
  8.  
  9.   $(document).click(function(evento){
  10.     $('div#logup').fadeOut(400);
  11.   });
  12.  
  13.   $('div#logup').click(function(evento){
  14.     evento.stopPropagation();//Evitar que se propague el evento
  15.   });
  16.  
  17. });
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 25/09/2011, 07:13
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 9 meses
Puntos: 5
Respuesta: Problema con desplegable

Las pruebas que estuve haciendo eran variables de lo que tu me has puesto, al menos se que tampoco me estaba equivocando por tanto :P

Funciona perfectamente, gracias ^^

Etiquetas: desplegable, jquery, js
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 15:36.