Foros del Web » Programando para Internet » Jquery »

Quiero 1 clic en vez de 2

Estas en el tema de Quiero 1 clic en vez de 2 en el foro de Jquery en Foros del Web. Hola people, me gustaría saber porqué para que se abra el desplegable de mi menú tengo que clicar dos veces en vez de uno. OJO, ...
  #1 (permalink)  
Antiguo 04/03/2013, 09:18
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 14 años
Puntos: 4
Pregunta Quiero 1 clic en vez de 2

Hola people, me gustaría saber porqué para que se abra el desplegable de mi menú tengo que clicar dos veces en vez de uno.

OJO, en la versión para smarthpone, que es donde existe ese menú en la parte superior.

http://fustot.cat

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $("a.productes").click(function(evento){
  3.         var data = $(this).attr('data-estado');
  4.         if(data == 1){
  5.             $("#main-productes").fadeIn('5000');
  6.             $("a.productes").css("background-color", "#EEEEEE");
  7.             $("a.productes").css("color", "#0060a6");
  8.             $(this).attr('data-estado',2);
  9.         }else{
  10.             $("#main-productes").fadeOut('5000');
  11.             $("a.productes").css("background-color", "white");
  12.             $("a.productes").css("color", "#0060a6");
  13.             $(this).attr('data-estado',1);
  14.         }
  15.     });
  16.    
  17.     $("li.mobile").click(function(evento){
  18.         var data = $(this).attr('data-estado');
  19.         if(data == 1){
  20.             $("div.mobile").fadeIn('5000');
  21.             $("li.mobile").css("background-color", "#acacac");
  22.             $(".container").css("margin", "44px 0 0 0");
  23.             $(".container").css("display", "block");
  24.             $("footer").css("display", "block");
  25.             $("li.language").css("background-color", "#eeeeee");
  26.             $("li.email").css("background-color", "#eeeeee");
  27.             $("li.list").css("background-color", "#eeeeee");
  28.             $("div.email").css("display", "none");
  29.             $("div.language").css("display", "none");
  30.             $("nav#main-productes").css("display", "none");
  31.             $(this).attr('data-estado',2);
  32.         }else{
  33.             $("div.mobile").fadeOut('5000');
  34.             $("li.mobile").css("background-color", "#eeeeee");
  35.             $(".container").css("display", "block");
  36.             $(this).attr('data-estado',1);
  37.         }
  38.     });
  39.    
  40.     $("li.email").click(function(evento){
  41.         var data = $(this).attr('data-estado');
  42.         if(data == 1){
  43.             $("div.email").fadeIn('5000');
  44.             $("li.email").css("background-color", "#acacac");
  45.             $(".container").css("margin", "44px 0 0 0");
  46.             $(".container").css("display", "block");
  47.             $("footer").css("display", "block");
  48.             $("li.language").css("background-color", "#eeeeee");
  49.             $("li.mobile").css("background-color", "#eeeeee");
  50.             $("li.list").css("background-color", "#eeeeee");
  51.             $("div.mobile").css("display", "none");
  52.             $("div.language").css("display", "none");
  53.             $("nav#main-productes").css("display", "none");
  54.             $(this).attr('data-estado',2);
  55.         }else{
  56.             $("div.email").fadeOut('5000');
  57.             $("li.email").css("background-color", "#eeeeee");
  58.             $(this).attr('data-estado',1);
  59.         }
  60.     });
  61.    
  62.     $("li.language").click(function(evento){
  63.         var data = $(this).attr('data-estado');
  64.         if(data == 1){
  65.             $("div.language").fadeIn('5000');
  66.             $("li.language").css("background-color", "#acacac");
  67.             $(".container").css("margin", "44px 0 0 0");
  68.             $(".container").css("display", "block");
  69.             $("footer").css("display", "block");
  70.             $("li.email").css("background-color", "#eeeeee");
  71.             $("li.mobile").css("background-color", "#eeeeee");
  72.             $("li.list").css("background-color", "#eeeeee");
  73.             $("div.email").css("display", "none");
  74.             $("div.mobile").css("display", "none");
  75.             $("nav#main-productes").css("display", "none");
  76.             $(this).attr('data-estado',2);
  77.         }else{
  78.             $("div.language").fadeOut('5000');
  79.             $("li.language").css("background-color", "#eeeeee");
  80.             $(this).attr('data-estado',1);
  81.         }
  82.     });
  83.    
  84.     $("li.list").click(function(evento){
  85.         var data = $(this).attr('data-estado');
  86.         if(data == 1){
  87.             $("nav#main-productes").fadeIn('5000');
  88.             $("li.list").css("background-color", "#acacac");
  89.             $("li.email").css("background-color", "#eeeeee");
  90.             $("li.mobile").css("background-color", "#eeeeee");
  91.             $("li.language").css("background-color", "#eeeeee");
  92.             $("div.email").css("display", "none");
  93.             $("div.mobile").css("display", "none");
  94.             $("div.language").css("display", "none");
  95.             $(".container").css("display", "none");
  96.             $("footer").css("display", "none");
  97.             $(this).attr('data-estado',2);
  98.         }else{
  99.             $("nav#main-productes").fadeOut('5000');
  100.             $("li.list").css("background-color", "#eeeeee");
  101.             $(".container").css("display", "block");
  102.             $("footer").css("display", "block");
  103.             $(this).attr('data-estado',1);
  104.         }
  105.     });
  106.    
  107.     $('a[href^="#"]').bind('click.smoothscroll',function (e) {
  108.     e.preventDefault();
  109.     var target = this.hash;
  110.         $target = $(target);
  111.     $('html, body').stop().animate({
  112.         'scrollTop': $target.offset().top
  113.     }, 500, 'swing', function () {
  114.         window.location.hash = target;
  115.     });
  116. });
  117.  
  118.  
  119.  
  120. });


Saludos, y gracias de antemano
  #2 (permalink)  
Antiguo 04/03/2013, 14:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Quiero 1 clic en vez de 2

necesitamos el html que sustenta dicho menu, sería perfecto un enlace online para verlo en acción.

sólo puedo adelantarte que todos los enlaces enlazan un evento click, si es un menu un mouseover sería el indicado
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/03/2013, 12:47
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 14 años
Puntos: 4
Respuesta: Quiero 1 clic en vez de 2

Cita:
Iniciado por maycolalvarez Ver Mensaje
necesitamos el html que sustenta dicho menu, sería perfecto un enlace online para verlo en acción.

sólo puedo adelantarte que todos los enlaces enlazan un evento click, si es un menu un mouseover sería el indicado
Código HTML:
Ver original
  1. <ul class="mobile">
  2. <li class="list"><a href="javascript:void(0)"><i class="icon-list"></i></a></li>
  3. <li class="email"><a href="javascript:void(0)"><i class="icon-envelope-alt"></i></a></li>
  4. <li class="mobile"><a href="javascript:void(0)"><i class="icon-mobile-phone"></i></a></li>
  5. </ul>
  6.  
  7. <nav id="main-productes">
  8. <div>
  9. <ul id="fustes">
  10. <li><?php echo $category = get_the_category_by_ID( $category=23 ); ?></li>
  11. <li><a href="<?php echo get_category_link( $category=1 ); ?>"><?php echo $category = get_the_category_by_ID( $category=1 ); ?></a></li>
  12. </ul>
  13. <ul id="tarimes">
  14. <li><?php echo $category = get_the_category_by_ID( $category=25 ); ?></li>
  15. <li><a href="<?php echo get_category_link( $category=11 ); ?>"><?php echo $category = get_the_category_by_ID( $category=11 ); ?></a></li>
  16. </ul>
  17. <ul id="taulers">
  18. <li><?php echo $category = get_the_category_by_ID( $category=24 ); ?></li>
  19. <li><a href="<?php echo get_category_link( $category=12 ); ?>"><?php echo $category = get_the_category_by_ID( $category=12 ); ?></a></li>
  20. <li><a href="<?php echo get_category_link( $category=13 ); ?>"><?php echo $category = get_the_category_by_ID( $category=13 ); ?></a></li>
  21. <li><a href="<?php echo get_category_link( $category=14 ); ?>"><?php echo $category = get_the_category_by_ID( $category=14 ); ?></a></li>
  22. <li><a href="<?php echo get_category_link( $category=15 ); ?>"><?php echo $category = get_the_category_by_ID( $category=15 ); ?></a></li>
  23. </ul>
  24. </div> 
  25. </nav>

Aquí tienes el HTML, para verlo online tienes el enlace de la web en mi primer comentario, te recuerdo que es para su versión smatphone.

Muchas gracias por tu tiempo ;)

Saludos
  #4 (permalink)  
Antiguo 06/03/2013, 12:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Quiero 1 clic en vez de 2

¿smartphone?: los eventos del mouse no aplican para smartphones, debes usar una librería especializada, como jQueryMobile o jQueryTouch, y eventos del tipo "tap", porque obviamente un smartphone NO tiene mouse
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 02/04/2013, 05:51
Avatar de sergi_multimedia  
Fecha de Ingreso: noviembre-2010
Mensajes: 213
Antigüedad: 14 años
Puntos: 4
Respuesta: Quiero 1 clic en vez de 2

Cita:
Iniciado por maycolalvarez Ver Mensaje
¿smartphone?: los eventos del mouse no aplican para smartphones, debes usar una librería especializada, como jQueryMobile o jQueryTouch, y eventos del tipo "tap", porque obviamente un smartphone NO tiene mouse
Gracias, me informaré más sobre los eventos tap de Jquery, no sabía que existían.

Gracias!

Etiquetas: clic, quiero, vez
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 11:00.