Foros del Web » Programando para Internet » Javascript »

Optimizacion onmouseover/onmouseout

Estas en el tema de Optimizacion onmouseover/onmouseout en el foro de Javascript en Foros del Web. Saludos, tengo el siguiente codigo, quisiera por favor me podrian ayudar como optimizarlo con respecto al onmouseover/onmouseout del ultimo tag <tr> de la tabla: @import ...
  #1 (permalink)  
Antiguo 20/01/2009, 14:26
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta Optimizacion onmouseover/onmouseout

Saludos,
tengo el siguiente codigo, quisiera por favor me podrian ayudar como optimizarlo con respecto al onmouseover/onmouseout del ultimo tag <tr> de la tabla:
Código php:
Ver original
  1. <!-- <?php
  2. ?>
  3. <html>
  4. <head>
  5. <title>TOP DE USUARIO</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7. </head>
  8.  
  9. <body link="#FFFF00" vlink="#FFFFFF" bgcolor="#f2f2f2">
  10. <table border="0" width="100%" height="100%" align="center" cellspacing="0">
  11. <tr>
  12.     <td colspan="7" align="right" valign="top" height="25"></td>
  13.     <td colspan="2" width="62%" align="right" valign="bottom" class="tit"><?php echo "Bienvenido [".$_SESSION['username']."]"; ?></td>
  14. </tr>
  15. <tr>
  16.     <td colspan="7" height="8"></td>
  17.     <td colspan="2" height="8"></td>
  18. </tr>
  19. <tr bgcolor="#727272" class="prod">             /////EN ESTE TAG ESTAN onmouseover/onmouseout
  20.     <td width="14%" align="center" onmouseover='this.style.background="red"' onmouseout='this.style.background="#727272"'><a href="portada.php" style="text-decoration: none;" onmouseover="this.style.color='white';this.style.textDecoration='underline'" onmouseout="this.style.color='';this.style.textDecoration='none'" target="mainFrame">Principal</a></td>
  21.     <td width="1%" height="28" bgcolor="#F2F2F2"></td>
  22.     <td width="14%" align="center" onmouseover='this.style.background="red"' onmouseout='this.style.background="#727272"'><a href="catalogo.php" style="text-decoration: none;" onmouseover="this.style.color='white';this.style.textDecoration='underline'" onmouseout="this.style.color='';this.style.textDecoration='none'" target="mainFrame">Catálogo</a></td>
  23.     <td width="1%" height="28" bgcolor="#F2F2F2"></td>
  24.     <td width="14%" align="center" onmouseover='this.style.background="red"' onmouseout='this.style.background="#727272"'><a href="miOrden.php" style="text-decoration: none;" onmouseover="this.style.color='white';this.style.textDecoration='underline'" onmouseout="this.style.color='';this.style.textDecoration='none'" target="mainFrame">Mis Ordenes</a></td>
  25.     <td width="1%" height="28" bgcolor="#F2F2F2"></td>
  26.     <td width="14%" align="center" onmouseover='this.style.background="red"' onmouseout='this.style.background="#727272"'><a href="miCuenta.php" style="text-decoration: none;" onmouseover="this.style.color='white';this.style.textDecoration='underline'" onmouseout="this.style.color='';this.style.textDecoration='none'" target="mainFrame">Mi Cuenta</a></td>
  27.     <td width="28%" bgcolor="#F2F2F2" align="right" valign="top" class="tit2"><a href="fin.php" target="_top" style="text-decoration:none;color:black" onmouseover="this.style.textDecoration='underline'" onmouseout="this.style.textDecoration='none'" onclick="return confirma();">Cerrar Sesión</a></td>
  28. </tr>
  29. </table>
  30. </body>
  31. </html> -->

Gracias
  #2 (permalink)  
Antiguo 20/01/2009, 14:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 9 meses
Puntos: 27
Respuesta: Optimizacion onmouseover/onmouseout

si con optimizar te refieres a reducir codigo tendrias que usar hojas de estilo y manejar el hover, de esa no repites tanto codigo.
Con los hipervinculos no tendras problemas, con los <td> tendras que usar algun truco para IE, ya que si mal no recuerdo no acepta el condicion hover en css a menos que estes sobre hipervinculo(a). Creo que deberias preguntar en el foro de css.
  #3 (permalink)  
Antiguo 20/01/2009, 14:41
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Optimizacion onmouseover/onmouseout

Y no habria forma de realizar una funcion js digo yo para simplificar esos onmouseover/onmouseout? se me ocurre
  #4 (permalink)  
Antiguo 20/01/2009, 14:50
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 9 meses
Puntos: 27
Respuesta: Optimizacion onmouseover/onmouseout

bueno podrias hacerlo en una funcion enviando this y en la funcion recibir el objeto y realizar el codigo
Código:
function ejemplo(objecto)
{
objeto.style.color='#000000';
...
..
}
algo asi, pero debieras usar hojas de estilo ya que precisamente controlar el estilo para asi separar de mejor manera las capas logicas del diseño
  #5 (permalink)  
Antiguo 21/01/2009, 08:11
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Optimizacion onmouseover/onmouseout

Por favor de trasladar este post al foro de css, gracias
  #6 (permalink)  
Antiguo 21/01/2009, 08:33
Avatar de Dalvenjha  
Fecha de Ingreso: febrero-2008
Ubicación: $("#oficina");
Mensajes: 692
Antigüedad: 16 años, 2 meses
Puntos: 53
Respuesta: Optimizacion onmouseover/onmouseout

Claro podría ser con CSS, pero probablemente eso le traiga problemas con los elementos que no son hiperlinks, ya que esa basura del internet explorer 6 no acepta hover en otro elemento, y aqui la gran mayoría usan ie6.

Ahora creo que la solución más adecuada es la que hizo el amigo refreegrata. También me aventuraría por una solución con Dom. Poniendole un ID al último tr podríamos hacer lo siguiente (Poniendole el ID "ultimo" al ultimo tr):

Código javascript:
Ver original
  1. <script type="text/javascript">
  2. function cambiacolor(){
  3. this.style.background = "red"
  4. }
  5.  
  6. function cambiacolor2(){
  7. this.style.background = "#727272"
  8. }
  9.  
  10. window.onload = function(){
  11. var listado = document.getElementById('ultimo').getElementsByTagName('td');
  12.  
  13. for(var i=0; i<listado.length; i++) {
  14.       listado[i].style.background = "#727272";
  15.       listado[i].onmouseover = cambiacolor;
  16.       listado[i].onmouseout = cambiacolor2;
  17.        
  18.     }
  19. }
  20. </script>

Esto nos permite cambiar los estilos a esos jodidos TDs, sin tener que escribir absolutamente nada dentro de ellos. Por supuesto, la verdadera solución sería desinstalar el ie6 de todas las computadoras, pero bueno, ya que estamos asi...

Pd.- Por cierto, esos dos colores no combinan para nada xD.

Saludos!!
__________________
Mi Showcase ||

Compartiendo todo lo posible con los demás.
  #7 (permalink)  
Antiguo 21/01/2009, 08:40
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Optimizacion onmouseover/onmouseout

Muchas gracias Dalvenjha, estare probandolo lo mencionado...posteo al finalizar como me fue

Saludos,
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 04:29.