Foros del Web » Programando para Internet » Jquery »

jQuery add y remove Class

Estas en el tema de jQuery add y remove Class en el foro de Jquery en Foros del Web. Hola, Necesito que al hacer click en un enlace agregue una clase al H2 respectivo sin que afecte al resto. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : ...
  #1 (permalink)  
Antiguo 12/12/2011, 15:02
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años, 7 meses
Puntos: 1
jQuery add y remove Class

Hola,

Necesito que al hacer click en un enlace agregue una clase al H2 respectivo sin que afecte al resto.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         $(document).ready(function() {
  3.             $(".navinside").click(function() {
  4.                 $(this).next().addClass("active");
  5.                 return false;
  6.             }).next().removeClass("active");
  7.         });
  8.     </script>


Código HTML:
Ver original
  1. <aside id="sidebar_inside" class="left">
  2.             <ul>
  3.                 <li><h2 class="navinside"><a href="#">CIRCULARES</a></h2></li>
  4.                 <li><h2 class="navinside"><a href="#">HISTORIA</a></h2></li>
  5.                 <li><h2 class="navinside"><a href="#">COMISI&Oacute;N DIRECTIVA</a></h2></li>
  6.                 <li><h2 class="navinside"><a href="#">ESTATUTO</a></h2></li>
  7.             </ul>
  8.         </aside>
  #2 (permalink)  
Antiguo 12/12/2011, 15:21
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Respuesta: jQuery add y remove Class

Proba esto:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  $(document).ready(function() {
  3.         $(".navinside").each(function() {
  4.          $(this).click(function() {
  5.          $(this).next().addClass("active");
  6.              return false;
  7.      }).next().removeClass("active");
  8.         }
  9.  });
  10.  </script>
  #3 (permalink)  
Antiguo 12/12/2011, 15:26
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: jQuery add y remove Class

No funciona.

Última edición por opzina2; 12/12/2011 a las 15:41
  #4 (permalink)  
Antiguo 12/12/2011, 16:19
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 3 meses
Puntos: 187
Respuesta: jQuery add y remove Class

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.             $(".navinside").click(function(event) { $(this).toggleClass('active'); event.preventDefault();});
  4.         });
  5.  </script>
  #5 (permalink)  
Antiguo 12/12/2011, 16:26
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: jQuery add y remove Class

Creo que no me expliqué bien.

Cuando hago click en <li><h2 class="navinside"><a href="#">CIRCULARES</a></h2></li>

Y se accede a la sección "CIRCULARES" el h2 correspondiente a circulares tiene que quedar con la clase "active" y SIN la clase active el resto de los enlaces.

Última edición por opzina2; 12/12/2011 a las 16:35
  #6 (permalink)  
Antiguo 12/12/2011, 17:45
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 3 meses
Puntos: 187
Respuesta: jQuery add y remove Class

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.             $(".navinside a").removeClass('active').each(function (){
  3.                              var href = $(this).attr('href');
  4.                              if(window.location.href.indexOf(href) !== -1){
  5.                                           $(this).addClass('active');
  6.                              }
  7.              });
  8. });
Para que funcione eso deberias actualizar tus linlks de la siguiente forma:
Código HTML:
Ver original
  1. <aside id="sidebar_inside" class="left">
  2.             <ul>
  3.                 <li><h2 class="navinside"><a href="#circulares">CIRCULARES</a></h2></li>
  4.                 <li><h2 class="navinside"><a href="#historia">HISTORIA</a></h2></li>
  5.                 <li><h2 class="navinside"><a href="#comision">COMISI&Oacute;N DIRECTIVA</a></h2></li>
  6.                 <li><h2 class="navinside"><a href="#estatuto">ESTATUTO</a></h2></li>
  7.             </ul>
  8.         </aside>

O bien
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.             $(".navinside").click(function (){
  3.                              $(".navinside").removeClass('active');
  4.                              $(this).addClass('active');
  5.              });
  6. });
  #7 (permalink)  
Antiguo 12/12/2011, 18:09
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: jQuery add y remove Class

Esto es lo que necesitaba. Muchas Gracias,

Ahora tengo la siguiente duda: Cuando haga click en el enlace y se carga la nueva seccion la clase "ACTIVE" va a desaparecer. ¿Cómo hago para que quede ACTIVE para ese enlace?

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.             $(".navinside").click(function (){
  3.                              $(".navinside").removeClass('active');
  4.                              $(this).addClass('active');
  5.              });
  6. });
  #8 (permalink)  
Antiguo 12/12/2011, 19:15
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 3 meses
Puntos: 187
Respuesta: jQuery add y remove Class

con algo parecido al primer codigo
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.             $(".navinside").removeClass('active')
  3.             $(".navinside a").each(function (){
  4.                              var href = $(this).attr('href');
  5.                              if(window.location.href.indexOf(href) !== -1){
  6.                                           $(this).parent().addClass('active');
  7.                              }
  8.              });
  9. });
Lo que hace ese código al cargarse la pagina, borra cualquier active que alla, luego recorre todos los links de navegacion y verifica cual esta cargado y setea ese como active.

Espero que te sirva
  #9 (permalink)  
Antiguo 13/12/2011, 12:17
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: jQuery add y remove Class

Gracias. Excelente, funciona de maravilla.

Javascript y jQuery son una deuda pendiente ya empecé a leer y a hacer cosas bàsicas aunque no logro entender algunas cosas todavìa.

Saludos.

Etiquetas: Ninguno
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:24.