Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/01/2008, 10:08
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Re: Ayuda a crear un efecto con tablas

Hola robusalma:

Éso ocurre porque los estilos que has definido en la etiqueta <style> tienen prevalencia sobre los que defines con javascript (éstos en concreto, no lo digo con carácter general). Quiero decir: Si defines un estilo para una celda en concreto, ésta tiene más importancia sobre todo lo que escribas de la fila. Así, si cambiamos la fila entera como en tu script, dicha celda quedará impasible, que es lo que te está ocurriendo a ti.

Mira este ejemplo para entenderlo mejor:
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" xml:lang="es" lang="es">
<
head>
<
meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<
meta name="Author" content="derkeNuke" />
<
title>Página nueva</title>
<
style type="text/css">
.
tabla_detalle2 background-color#ccc; }
#prueba { background-color: green; }
</style>
</
head>

<
body>



<
table class="tabla_detalle2">
    <
tbody>
        <
tr onmouseover="mOver(this);" onmouseout="mOut(this);">
            <
th width="25%">prueba</th>
            <
th width="25%" id="prueba">1</th>
            <
th width="25%">prueba</th>
            <
th width="25%">&nbsp;</th>
        </
tr>
        <
tr class="linea2" onmouseover="mOver(this);" onmouseout="mOut(this);">
            <
td>prueba</td>
            <
td>1</td>
            <
td>1</td>
            <
td>&nbsp;</td>
        </
tr>
    </
tbody>
</
table>


<
script type="text/javascript">
<!--

function 
mOut(which){ which.style.backgroundColor='#ccc'; return false; }
function 
mOver(which){ which.style.backgroundColor='#8680F9'; return false; }

// -->
</script>

</body>
</html> 
La celda verde permanecerá siempre verde.


La solución pasa por recorrer con DOM todas celdas hijas, por ejemplo.



Saludos
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.