Foros del Web » Programando para Internet » Javascript »

Sobre manejo de colores con javascript

Estas en el tema de Sobre manejo de colores con javascript en el foro de Javascript en Foros del Web. Una consultilla, tengo el siguiente codigo con html y javscripts: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> <script> function colorear(obj) { fila ...
  #1 (permalink)  
Antiguo 18/06/2009, 12:27
 
Fecha de Ingreso: junio-2009
Ubicación: Bolivia
Mensajes: 96
Antigüedad: 14 años, 10 meses
Puntos: 0
Sonrisa Sobre manejo de colores con javascript

Una consultilla, tengo el siguiente codigo con html y javscripts:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>

<script>

function colorear(obj)
{
fila = obj.parentNode.parentNode;
if(obj.checked)
fila.style.backgroundColor = "#FFCC99";
else
fila.style.backgroundColor = "#DDDDDD";
}


function cambiar_color_over(celda){

celda.style.backgroundColor="#ccffcc";

}
function cambiar_color_out(celda){


celda.style.backgroundColor="#dddddd";


}

</script>
</head>
<body>
<table>
<thead>
<tr align="center">
<th>Campo1</th>
<th>Campo2</th>
<th>Campo3.</th>
</tr>
</thead>

<tr bgcolor='#F0F0F0' onmouseover="cambiar_color_over(this)" onmouseout="cambiar_color_out(this)">

<td><input id="miCheck1" type="checkbox" name="miCheck" onclick="colorear(this)"></td>
<td> </td>
<td> </td>
<td> </td>
</tr>

<tr bgcolor='#F0F0F0' onmouseover="cambiar_color_over(this)" onmouseout="cambiar_color_out(this)">

<td><input id="miCheck2" type="checkbox" name="miCheck" onclick="colorear(this)"></td>
<td> </td>
<td> </td>
<td> </td>
</tr>

<tr bgcolor='#F0F0F0' onmouseover="cambiar_color_over(this)" onmouseout="cambiar_color_out(this)">
<td><input id="miCheck3" type="checkbox" name="miCheck" onclick="colorear(this)"></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>

Este codigo cambia de colores cada fila de la tabla al pasar el mouse sobre ellas
y al levantarlas. Tambien cambia de color cuando se hace click en el checkbox. Mi duda es q como puedo hacer que cuando el checkbox este marcado, este mantenga su color. Por fa necesito vuestra ayuda. Saludos
  #2 (permalink)  
Antiguo 18/06/2009, 12: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: Sobre manejo de colores con javascript

Puedes agregar una condición antes de cambiar el color:
Código javascript:
Ver original
  1. if (!celda.getElementsByTagName("input")[0].checked) {
  2.     /* Cambiar color */
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 18/06/2009, 12:45
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 11 meses
Puntos: 24
Respuesta: Sobre manejo de colores con javascript

La fila mantiene su color cuando el checkbox está marcado, pero se lo cambiás nuevamente con el evento mouseout de la fila.

Código:
function cambiar_color_over(celda)
 {
  if(celda.cells[0].firstChild.checked == true)
    return;
  celda.style.backgroundColor="#ccffcc";
 }

function cambiar_color_out(celda)
 {
  if(celda.cells[0].firstChild.checked == true)
    return;
  celda.style.backgroundColor="#dddddd";
 }
  #4 (permalink)  
Antiguo 18/06/2009, 12:54
 
Fecha de Ingreso: junio-2009
Ubicación: Bolivia
Mensajes: 96
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Sobre manejo de colores con javascript

Muchas, gracias David el Grande, sos un grande. Bueno, cualquier duda te estare consultando. Y finalmente el codigo queda asi:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>

<script>

function colorear(obj)
{
fila = obj.parentNode.parentNode;
if(obj.checked)
fila.style.backgroundColor = "#FFCC99";
else
fila.style.backgroundColor = "#DDDDDD";
}


function cambiar_color_over(celda){


if (!celda.getElementsByTagName("input")[0].checked)
{ /* Cambiar color */

celda.style.backgroundColor="#ccffcc";

}

}
function cambiar_color_out(celda){

if (!celda.getElementsByTagName("input")[0].checked)
{
celda.style.backgroundColor="#dddddd";

}
}

</script>
</head>
<body>
<table>
<thead>
<tr align="center">
<th>Campo1</th>
<th>Campo2</th>
<th>Campo3.</th>
</tr>
</thead>

<tr bgcolor='#F0F0F0' onmouseover="cambiar_color_over(this)" onmouseout="cambiar_color_out(this)">

<td><input id="miCheck1" type="checkbox" name="miCheck" onclick="colorear(this)"></td>
<td> </td>
<td> </td>
<td> </td>
</tr>

<tr bgcolor='#F0F0F0' onmouseover="cambiar_color_over(this)" onmouseout="cambiar_color_out(this)">

<td><input id="miCheck2" type="checkbox" name="miCheck" onclick="colorear(this)"></td>
<td> </td>
<td> </td>
<td> </td>
</tr>

<tr bgcolor='#F0F0F0' onmouseover="cambiar_color_over(this)" onmouseout="cambiar_color_out(this)">
<td><input id="miCheck3" type="checkbox" name="miCheck" onclick="colorear(this)"></td>
<td> </td>
<td> </td>
<td> </td>
</tr>


</table>
</body>
</html>
  #5 (permalink)  
Antiguo 18/06/2009, 13:01
 
Fecha de Ingreso: junio-2009
Ubicación: Bolivia
Mensajes: 96
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Sobre manejo de colores con javascript

Muchas gracias por vuestra ayuda, tambien me sirvio para poder solucionar el problema.
  #6 (permalink)  
Antiguo 18/06/2009, 13:04
 
Fecha de Ingreso: junio-2009
Ubicación: Bolivia
Mensajes: 96
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Sobre manejo de colores con javascript

Un duda, quisiera saber donde pueda encontrar buenos manuales de DOM, debido a como estoy empezando mis armas con este lenguaje pues no lo entiendo muy bien. Por fa necesito de vuestra ayuda.
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 03:21.