Foros del Web » Programando para Internet » Javascript »

borrar una clase y activar otra

Estas en el tema de borrar una clase y activar otra en el foro de Javascript en Foros del Web. Muy buenas. Tengo un menu con cuatro opciones de hacer click, y al pinchar en cada una, se cambia el contenido de la web, pero ...
  #1 (permalink)  
Antiguo 08/05/2012, 08:08
 
Fecha de Ingreso: abril-2006
Mensajes: 152
Antigüedad: 18 años
Puntos: 22
borrar una clase y activar otra

Muy buenas.

Tengo un menu con cuatro opciones de hacer click, y al pinchar en cada una, se cambia el contenido de la web, pero la url siempre es la misma, es decir, no cambio de HTML

Queria saber como se haría para uqe al pinchar en cada menú, al que le he hecho click se le active un estilo determinado y se quede activado, y el menu que estaba activo se le borre la clase que tenía.

Me imagino que se hace con removeClass y addClass.. pero no se muy bien como conseguir lo que uqiero :(
  #2 (permalink)  
Antiguo 08/05/2012, 08:12
 
Fecha de Ingreso: junio-2010
Mensajes: 142
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: borrar una clase y activar otra

Buenas,

es así:

Código:
$('.clase_del_boton_que_tocas').click(function(){

$(this).removeClass('clase_a_remover');

$(this).addClass('clase_a_agregar');

return false;

});
  #3 (permalink)  
Antiguo 08/05/2012, 08:14
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: borrar una clase y activar otra

mi recomendación es hacerlo con la pseudo clase :checked de css
aquí tienes la base
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 08/05/2012, 08:19
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 14 años, 6 meses
Puntos: 36
Respuesta: borrar una clase y activar otra

O con not para excluir a la que dieron click... por ejemplo:
Código Javascript:
Ver original
  1. $('.links').click(function() {
  2.             $(this).addClass("activo");
  3.             $('.links').not(this).removeClass("activo");
  4.         });

.links = todos los links
this = al que se le dio click
al aplicarle .not = todos los links excepto el que se le dio click
  #5 (permalink)  
Antiguo 08/05/2012, 09:05
 
Fecha de Ingreso: abril-2006
Mensajes: 152
Antigüedad: 18 años
Puntos: 22
Respuesta: borrar una clase y activar otra

he probado el codigo de "rossijona" y lo he dejado así, pero no ha funcionado, no hace NAAAADA de nada :(, ¿porque puede ser?

Código:
<script type="text/javascript">
			$('.azul').click(function(){

			$(this).removeClass('azul');

			$(this).addClass('rojo');

			return false;

			});
		</script>
		<style text="type/css">
			.azul{background-color:blue;color:white;}
			.rojo{background-color:red;}
			.negro{background-color:black;color:white;}
			.verde{background-color:green;}
		</style>
		
	</head>
	
	<body>
		<div class="azul">primero</div><br>
		<div class="segundo">segundo</div><br>
		<div class="tercero">tercero</div><br>
		<div class="cuarto">cuarto</div><br>
	</body>
  #6 (permalink)  
Antiguo 08/05/2012, 09:18
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 14 años, 6 meses
Puntos: 36
Respuesta: borrar una clase y activar otra

Porque no estas metiendo la función en el document ready o algo parecido, a parte que ahí solo estas diciendo que para el primer link cuando le de click cambie pero solamente ese link.
El codigo que dejo rossijona aunque tiene la base no es la solución para lo que planteas tal cual esta.
Te recomiendo antes de estar solo copiando los códigos veas un tutorial de lo basico algo como: Getting Started with jQuery
  #7 (permalink)  
Antiguo 08/05/2012, 12:41
 
Fecha de Ingreso: abril-2006
Mensajes: 152
Antigüedad: 18 años
Puntos: 22
Respuesta: borrar una clase y activar otra

Esque a ver. Obviamente lo ideal ideal, sería que manejara perfectamente javascript, eso seria lo perfecto, de ser así no entraría en un foro preguntando estas cosas.

Y los foros entre otras cosas están para ir ayudando a la gente que no sabemos de "x" cosa con los códigos que vamos necesitando, para que poco a poco vayamos aprendiendo sin necesidad de estar estancados.

Si tuviera tiempo de aprender Javascript... creeme, ya lo habria aprendido, pero no es el caso. Y si solicito ayuda en el código con el que tengo problema, es porque pienso (a lo mejor desde mi ignorancia por su puesto), que no es muy complicado, y que a alguien que maneja no le va a llevar mucho tiempo hecharme una mano.
  #8 (permalink)  
Antiguo 08/05/2012, 12:54
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 14 años, 6 meses
Puntos: 36
Respuesta: borrar una clase y activar otra

Créeme hasta con el titulo "Getting Started with jQuery" se ve que no te manejaras perfectamente la librería, y todos a veces nos atoramos en cosas.. pero es muy diferente tener una idea y no saber como solucionar el problema.. a solo apuntar y decir quiero eso..

Ahora con lo de tu problema yo te había puesto una solución al igual que IsaBelM en las cuales aplicando eso debería hacer exactamente lo que quieres..

en mi caso:
Código Javascript:
Ver original
  1. $('.links').click(function() {
  2.             $(this).addClass("activo");
  3.             $('.links').not(this).removeClass("activo");
  4.         });
Código HTML:
Ver original
  1. <style text="type/css">
  2.             .activo{background-color:blue;color:white;}
  3.         </style>
  4. <div class="links">primero</div><br>
  5.         <div class="links">segundo</div><br>
  6.         <div class="links">tercero</div><br>
  7.         <div class="links">cuarto</div><br>
  #9 (permalink)  
Antiguo 08/05/2012, 13:31
 
Fecha de Ingreso: abril-2006
Mensajes: 152
Antigüedad: 18 años
Puntos: 22
Respuesta: borrar una clase y activar otra

pues la verdad... a mi ese código no me hace nada de nada xDD.

Será mi navegador... o a saber... xD

Lo que estoy queriendo hacer tiene algún nombre concreto? es para buscar bien por google :)
  #10 (permalink)  
Antiguo 10/05/2012, 01:08
 
Fecha de Ingreso: abril-2006
Mensajes: 152
Antigüedad: 18 años
Puntos: 22
Respuesta: borrar una clase y activar otra

Al final lo s0olucioné con el codigo de Dafonz.

Me faltaba iniciar el documento js con:

"$(document).ready(function()"

Lo cual demuestra mi "gran" conocimiento en javascript xDD

Muchas gracias ;)

Etiquetas: clase, html
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 20:01.