Foros del Web » Programando para Internet » Javascript »

Cambiar class según class actual

Estas en el tema de Cambiar class según class actual en el foro de Javascript en Foros del Web. Hola, tengo un botón que al pulsarlo cambia de class pero quiero que al volver a pulsarlo vuelva a la class inicial, para ello he ...
  #1 (permalink)  
Antiguo 01/10/2012, 09:15
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 10 meses
Puntos: 14
Cambiar class según class actual

Hola, tengo un botón que al pulsarlo cambia de class pero quiero que al volver a pulsarlo vuelva a la class inicial, para ello he creado este script:

Código HTML:
   function recibe(que){
	
	if(que.className="vone"){
	que.className="lavender";
   } if(que.className="lavender"){
	que.className="vone";
   }
   }


<input type="button" name="eight" onclick="javascript:recibe(this);" class="vone" value="8"> 
Pero no me funciona, lo que quiero hacer es que si esta en una class cambie a la otra, y al revés, creo que así funcionaría pero el error ahora mismo es que no hace nada, ni cambia la class ni nada, a ver si me podéis echar una mano, gracias!

Última edición por ananda; 01/10/2012 a las 09:23
  #2 (permalink)  
Antiguo 01/10/2012, 10:02
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Cambiar class según class actual

El error principal es que en
if(que.className="vone")
no estás haciendo una comparación

para comparar a == b // 2 signos =
para asignar un valor
a = b; // solo 1

luego usas
if ...
else
....

o simplificando con el operador ternario

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. function recibe(que){
  4. que.className =(que.className=="vone")? 'lavender':'vone';
  5. }
  6. //]]>
  7. </script>
cuando usas eventos (onclick en tu caso) el uso del pseudoprotocolo javascript: es innecesario

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: actual, class, funcion, input, según
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 01:04.