Foros del Web » Programando para Internet » Jquery »

Problema con ciclos de acción

Estas en el tema de Problema con ciclos de acción en el foro de Jquery en Foros del Web. Tengo un problema con el siguiente código: $(".pos").click(function(){ $(this).css("border","0.2vw solid red"); $(".pos").click(function(){ $(this).css("border","0.2vw solid green"); }); }); Con este código al hacer click en una ...
  #1 (permalink)  
Antiguo 02/04/2015, 05:51
 
Fecha de Ingreso: marzo-2015
Mensajes: 28
Antigüedad: 9 años, 9 meses
Puntos: 0
Problema con ciclos de acción

Tengo un problema con el siguiente código:

$(".pos").click(function(){
$(this).css("border","0.2vw solid red");
$(".pos").click(function(){
$(this).css("border","0.2vw solid green");
});
});

Con este código al hacer click en una posición el borde se pone rojo, y después, el resto de clicks ponen el borde verde. Lo que yo quiero es que se ponga rojo, luego verde y luego empiece desde el principio...

Gracias de antemano.
  #2 (permalink)  
Antiguo 03/04/2015, 00:34
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Problema con ciclos de acción

Ya que estas usando jQuery, puedes usar toggleClass para esto.

Ejemplo y codigo:

https://jsfiddle.net/0f15bzte/
  #3 (permalink)  
Antiguo 03/04/2015, 10:02
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años, 8 meses
Puntos: 74
Respuesta: Problema con ciclos de acción

Código Javascript:
Ver original
  1. var rojo = true;
  2. $(".pos").click(function() {
  3.     if(rojo)
  4.     {
  5.         $(this).css("border", "0.2vw solid green");
  6.     }
  7.     else
  8.     {
  9.         $(this).css("border", "0.2vw solid red");
  10.     }
  11.     rojo = !rojo;
  12. });

Etiquetas: ciclos, 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 21:52.