Foros del Web » Programando para Internet » Javascript »

Problema con If(){}Else{}

Estas en el tema de Problema con If(){}Else{} en el foro de Javascript en Foros del Web. Quiero hacer un botón para cambiar de color el fondo de un <div>. Le puse al boton que si el fondo del div es blanco ...
  #1 (permalink)  
Antiguo 10/01/2013, 08:43
 
Fecha de Ingreso: enero-2013
Ubicación: Adrogué
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Exclamación Problema con If(){}Else{}

Quiero hacer un botón para cambiar de color el fondo de un <div>. Le puse al boton que si el fondo del div es blanco que cambie a rojo y si es rojo que cambie a blanco, pero no funciona :S Por favor diganme en que estoy fallando :(

javascript:

function cambiarcolor(){

var obj = document.getElementById("divloco");

if(obj.style.backgroundColor == '#FFF'){

obj.style.backgroundColor = '#435654';


}else{
obj.style.backgroundColor = '#FFF';

}
}

html:

<div id="divloco" style="background-color:#FFF">Div que cambia de color</div>
<a href="#" onclick="cambiarcolor();">Boton para cambiar color</a>
  #2 (permalink)  
Antiguo 10/01/2013, 09:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con If(){}Else{}

Revisa esto:
http://www.forosdelweb.com/f13/compa...5/#post3267569

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/01/2013, 09:53
 
Fecha de Ingreso: enero-2013
Ubicación: Adrogué
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Problema con If(){}Else{}

Gracias, pero sigue sin funcionar, y cuando hago un

alert(obj.style.backgroundColor);

No funciona..
  #4 (permalink)  
Antiguo 10/01/2013, 10:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con If(){}Else{}

¿Te da algún error?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 10/01/2013, 13:03
 
Fecha de Ingreso: enero-2013
Ubicación: Adrogué
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Problema con If(){}Else{}

No sale nada :/ Tambien probé hacerlo así de simple y tampoco pasa nada:


<script type="text/javascript">

alert(document.getElementById("nose").style.backgr oundColor);

</script>


<div id="nose">asdasddas</div>
  #6 (permalink)  
Antiguo 10/01/2013, 13:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con If(){}Else{}

Si intentas acceder antes de que el elemento exista es normal que no funcione:
Código Javascript:
Ver original
  1. onload = function() {
  2.     alert(document.getElementById("nose").style.backgroundColor);
  3. }
De hecho para que aparezca allí tendrías también que asignar el color de fondo directamente en el atributo style.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 10/01/2013, 15:24
 
Fecha de Ingreso: enero-2013
Ubicación: Adrogué
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Problema con If(){}Else{}

Lo logré!! Muchas gracias!!, aprendí varias cosas haciendo este ejercicio ;) Dejo el código final:

<div id="contenedor" style="background-color:#ccc">Texto</div>

<a href="#" onclick="cambiarcolor();">Rojo</a>

<script type="text/javascript">

var nose = document.getElementById("contenedor");

function cambiarcolor(){



if(nose.style.backgroundColor == 'rgb(204, 204, 204)'){


nose.style.backgroundColor = 'rgb(100, 210, 130)';


}else{
nose.style.backgroundColor = 'rgb(204, 204, 204)';

}

}


Te agradezco tu ayuda ;)

Etiquetas: funcion, 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 11:46.