Foros del Web » Programando para Internet » Javascript »

Funciona cambiar color borde div

Estas en el tema de Funciona cambiar color borde div en el foro de Javascript en Foros del Web. Tengo el siguiente script, peor no me funciona: Código: <script> function colorear(div) { var capa = document.getElementById(div); if(capa.style.borderColor == "#FF0000") { capa.style.borderColor = "#FFFFFF"; } ...
  #1 (permalink)  
Antiguo 07/07/2011, 23:12
 
Fecha de Ingreso: marzo-2010
Mensajes: 151
Antigüedad: 14 años, 7 meses
Puntos: 0
Funciona cambiar color borde div

Tengo el siguiente script, peor no me funciona:

Código:
<script>
function colorear(div)
  {
      var capa = document.getElementById(div);
      if(capa.style.borderColor == "#FF0000")
      {
	    capa.style.borderColor = "#FFFFFF";
	  }
	  else
	  {  
		capa.style.borderColor="#FF0000";
	  }
      
  }
</script>


<div id='caratula' style='border-color:#FF0000;'>
Votar por esta caratula?<input type='checkbox' onclick='colorear("caratula");'>
</div>

El borde debe cambiar de color al hacer click sobre le checkbox, espero me puedan ayudar; gracias!
  #2 (permalink)  
Antiguo 08/07/2011, 03:44
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Funciona cambiar color borde div

Los navegadores asignan los valores a los colores de diferentes maneras. Algunos usan la notación #FF0000 para rojo, pero otros usan rgb(255,0,0). Es por eso que la comparación no siempre será válida. En tu caso quizá podría servirte algo así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin título</title>
<
style>
#caratula{ border-width:1px; border-style:solid}
</style>
</
head>

<
body>
<
script>
function 
colorear(div,si)
  {
      var 
capa document.getElementById(div);
      if(
si)
      {
        
capa.style.borderColor "#FFFFFF";
      }
      else
      {  
        
capa.style.borderColor="#FF0000";
      }
      
  }
</script>


<div id="caratula" style="border-color:#FF0000;">
Votar por esta caratula?<input type="checkbox" onclick="colorear('caratula',this.checked);">
</div>
</body>
</html> 
  #3 (permalink)  
Antiguo 08/07/2011, 04:15
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: Funciona cambiar color borde div

hola Geze,
aunque lo tuyo es más de CSS que de otra cosa, jejejeje.

tienes que 'inicializar' el grosor del borde para que se muestre:

<div id='caratula' style='border-color:#ff0000;border: 2px solid'>...</div>

el resto parece estar bien.

saludos.
  #4 (permalink)  
Antiguo 08/07/2011, 12:50
 
Fecha de Ingreso: marzo-2010
Mensajes: 151
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Funciona cambiar color borde div

Ahora sí cabia el color del borde al seleccionar el checkbox, le único probelma es que al el div que cambia la capa tiene el siguiente CSS para cuando se ponga el punter sobre este mismo, es decir mientras puntero no toca le div tiene un color de borde blanco, cuando el puntero pasa sobre el div cambia el color a rojo. Cuando se marca la casilla y sale el puntero del div se queda con el color rojo, pero cuando se desmarca la casilla y el punero pasa sobre él ya no cambia el color a rojo.

Este es el CSS del div:

Código:
div.caratula { border: 2px solid #FFFFFF }
div:hover.caratula { border: 2px solid #FF0000; }

-----------------------------------------------------------------------
<div id="caratula" class='caratula' style="border-color:#FF0000;">
Votar por esta caratula?<input type="checkbox" onclick="colorear('caratula',this.checked);">
</div>
El problema es ese, al desmarca la casilla ya no vueleve a tener el efecto hover del css.

Ojalá me puedan ayudar y muchas, muchas gracias por lo anterior.
  #5 (permalink)  
Antiguo 08/07/2011, 12:56
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Funciona cambiar color borde div

Podés usar los eventos onmouseover y onmouseout (los de los rollOvers de toda la vida) para asignarle el estilo que quieras en cada caso.
  #6 (permalink)  
Antiguo 08/07/2011, 13:08
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Funciona cambiar color borde div

No estoy seguro, pero si :focus es una pseudo-clase soportada en todos los navegadores, úsala. Si no, haz lo que dice @Panino ().
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 08/07/2011, 16:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 151
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Funciona cambiar color borde div

Gracias!! Aun que no logor hacerlo funcionar que qye agrego el onmouseover y el onmouseout sobre el <div>, pero cuando selecciono el checkbox y quito el puntero el del div, el borde se hace blanco (por el onmouseout) pero si quito este (el out) entonces al pasar el mouse sobre el div se colorea el borde y ya no se descolorea al quitarlo.

Espero me puedan ayudar :) Gracias!!

Etiquetas: checkbox, color, bordes
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 05:53.