Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Botón activo de menú con click

Estas en el tema de Botón activo de menú con click en el foro de Jquery en Foros del Web. Buenas Gente! No puedo dejar activo el menú! Sucede que como no cambio de pagina, recargo todo en la misma, no se como dejar el ...
  #1 (permalink)  
Antiguo 16/01/2017, 01:24
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 79
Antigüedad: 12 años, 2 meses
Puntos: 0
Botón activo de menú con click

Buenas Gente! No puedo dejar activo el menú! Sucede que como no cambio de pagina, recargo todo en la misma, no se como dejar el botón seleccionado activo. Intente así pero no me sale. Alguien ve el error? Gracias!


Código CSS:
Ver original
  1. #menu li.activa {
  2.   background-image: url(../../imagenes/pest_activa.png);
  3. }

Código HTML:
Ver original
  1.             $(document).ready(function(){
  2.      
  3.                 $('#inicio').click(function(){
  4.                         $('#inicio').removeClass("li.activa");
  5.                         $(this).addClass("li.activa");
  6.                         });      
  7.      
  8.                 $('#redes').click(function(){
  9.                         $('#redes').removeClass("li.activa");
  10.                         $(this).addClass("li.activa");
  11.                         });
  12.  
  13.                 $('#quienes_somos').click(function(){
  14.                         $('#quienes_somos').removeClass("li.activa");
  15.                         $(this).addClass("li.activa");
  16.                         });
  17.  
  18.                 $('#contacto').click(function(){
  19.                         $('#contacto').removeClass("li.activa");
  20.                         $(this).addClass("li.activa");
  21.                         });
  22.                                         });
  23.         </script>  
  24.  
  25. <div id="posmenu">
  26.     <ul id="menu">
  27.       <li><a href="#" id="inicio">Inicio</a></li>
  28.       <li><a href="#" id="redes">Redes</a></li>
  29.       <li><a href="#" id="quienes_somos">Quienes Somos?</a></li>
  30.       <li><a href="#" id="contacto">Contacto</a></li>
  31.     </ul>
  32.     </div>
  #2 (permalink)  
Antiguo 16/01/2017, 08:09
Avatar de Ito79  
Fecha de Ingreso: diciembre-2013
Mensajes: 71
Antigüedad: 10 años, 4 meses
Puntos: 18
Respuesta: Botón activo de menú con click

Hola,
El problema es que estás aplicando estilos a los elementos LI mediante jQuery y CSS pero luego en el HTML tienes los IDs aplicados a los elementos <A>.

Lo que aconsejo que hagas:
1. Pon los ID a los elementos LI, por ejemplo:
Código HTML:
Ver original
  1. <li id="inicio"><a href="#" >Inicio</a></li>
2. En el jQuery no tienes que especificar LI, sólo el nombre de la clase, por ejemplo:

Código Javascript:
Ver original
  1. $('#inicio').click(function(){
  2.                         $('#inicio').removeClass("activa");
  3.                         $(this).addClass("activa");
  4.                         });


Con eso te funcionará.

Espero que ayude,
Un saludo

// Ito
  #3 (permalink)  
Antiguo 16/01/2017, 18:17
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 79
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Botón activo de menú con click

Hola @Ito79! Gracias por tu ayuda! Quedo funcionando!!

Lo que si, tuve que modificarlo porque de esa manera me dejaba todos los botones activos porque en la función, nunca desactivaba la clase de los otros botones, sino del mismo que clickeaba.

Muchas gracias nuevamente!! Saludos!!

Código Javascript:
Ver original
  1. <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
  2.         <script>
  3.             $(document).ready(function(){
  4.      
  5.                 $('#inicio').click(function(){
  6.                         $('#redes').removeClass("activa");
  7.                         $('#quienes_somos').removeClass("activa");
  8.                         $('#contacto').removeClass("activa");
  9.                         $(this).addClass("activa");
  10.                                              });      
  11.      
  12.                 $('#redes').click(function(){
  13.                         $('#inicio').removeClass("activa");
  14.                         $('#quienes_somos').removeClass("activa");
  15.                         $('#contacto').removeClass("activa");
  16.                         $(this).addClass("activa");
  17.                                              });
  18.  
  19.                 $('#quienes_somos').click(function(){
  20.                         $('#redes').removeClass("activa");
  21.                         $('#inicio').removeClass("activa");
  22.                         $('#contacto').removeClass("activa");
  23.                         $(this).addClass("activa");;
  24.                                              });
  25.  
  26.                 $('#contacto').click(function(){
  27.                         $('#redes').removeClass("activa");
  28.                         $('#quienes_somos').removeClass("activa");
  29.                         $('#inicio').removeClass("activa");
  30.                         $(this).addClass("activa");
  31.                                              });
  32.                                         });
  33.         </script>

Saludos!!
  #4 (permalink)  
Antiguo 19/01/2017, 04:47
Avatar de Ito79  
Fecha de Ingreso: diciembre-2013
Mensajes: 71
Antigüedad: 10 años, 4 meses
Puntos: 18
Respuesta: Botón activo de menú con click

Me alegro que te haya funcionado, es cierto, había que completarlo :)

Un saludo
Ito

Etiquetas: activo, javascript
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:18.