Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Porqué tengo que pulsar 2 veces?

Estas en el tema de Porqué tengo que pulsar 2 veces? en el foro de Jquery en Foros del Web. Hola gente, tengo en una web en su versión smartphone un botón que al apretar se desplegar el menú. Pues para que se desplegue el ...
  #1 (permalink)  
Antiguo 02/09/2013, 10:00
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 13 años, 4 meses
Puntos: 4
Porqué tengo que pulsar 2 veces?

Hola gente, tengo en una web en su versión smartphone un botón que al apretar se desplegar el menú.

Pues para que se desplegue el submenu tengo que apretar dos veces, una vez ya se ha desplegado va siempre al primer clic. A ver si me podéis ayudar para que se despliegue el menú con un solo clic.

El botón:
Código HTML:
Ver original
  1. <a href="#" class="icon-header"><i class="icon-reorder"></i></a>

Jquery:
Código Javascript:
Ver original
  1. $(function(){
  2.     $(".icon-header").click(function(evento){
  3.         var data = $(this).attr('data-estado');
  4.        
  5.         if(data == 1){
  6.             $("nav").fadeIn('5000');
  7.             $(this).attr('data-estado',2);
  8.         }else{
  9.             $("nav").fadeOut('5000');
  10.             $(this).attr('data-estado',1);
  11.         }
  12.     }
  13. )});

Podéis comprobarlo en esta web: http://fustot.cat, en la versión smartphone ;) Si lo miráis desde un ordenador no lo váis a encontrar.

Gracias de antemano ;)
  #2 (permalink)  
Antiguo 02/09/2013, 15:27
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Porqué tengo que pulsar 2 veces?

La primera vez que lo llamas no hay valor para data, deberías hacerlo así:

Código Javascript:
Ver original
  1. if(data == 1){
  2.             $("nav").fadeOut('5000');
  3.             $(this).attr('data-estado',2);
  4. }else{
  5.             $("nav").fadeIn('5000');
  6.             $(this).attr('data-estado',1);
  7. }

saludos
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 03/09/2013, 02:06
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 13 años, 4 meses
Puntos: 4
Pregunta Respuesta: Porqué tengo que pulsar 2 veces?

Hola, gracias por pasarte y contestar.

No entiendo muy bien lo que me dices, veo tu código y es el mismo que el que te puse yo.

Me lo puedes aclarar?

Saludos
  #4 (permalink)  
Antiguo 03/09/2013, 06:12
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Porqué tengo que pulsar 2 veces?

He invertido el FadeIn y el FadeOut
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 03/09/2013, 10:16
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: Porqué tengo que pulsar 2 veces?

Cierto! Muchas gracias! Funciona perfectamente ;)

Saludos

Etiquetas: pulsar
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:42.