Foros del Web » Programando para Internet » Javascript »

muy extraño, para mi

Estas en el tema de muy extraño, para mi en el foro de Javascript en Foros del Web. Wenas: Para finalizar la semanita, una cuestión q para mi me resulta extraña. Tengo un tabla (generada dinamicamente) en la q pretendo q cada fila ...
  #1 (permalink)  
Antiguo 14/11/2003, 05:42
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 1 mes
Puntos: 1
muy extraño, para mi

Wenas:

Para finalizar la semanita, una cuestión q para mi me resulta extraña.

Tengo un tabla (generada dinamicamente) en la q pretendo q cada fila sea un link y cambie el color y la barra de estado al pasar el ratón por encima.

El control de cambio del color, funciona normalmene, pero en lo q se refiere al cambiar el texto de la barra de estado, la forma en q he tenido q hacerlo es extraña.

Los efectos los tengo con onMouseOver sobre el tr, pero estoy "obligado" a poner un onMouseOver en el a href con valor return true para q el cambio de la barra de estado funcione.

He probado diferentes combinaciones, poniendolo en el link, fuera/dentro de la funcion, cambiando el orden en q están los tr y los a href, etc., y al final, después de muchas pruebas, la forma mínima de hacerlo es esta
Código:
...
function overProducto(objTR)
{
  objTR.style.backgroundColor = "yellow";
  window.status = "..."; //no funciona si no se pone el onmouseover=return tre en el a href
  return true;
}
...
...
<table>
  <tr onMouseOver="overProducto(this)">
  <a href="..." onMouseOver="return true;">
....
  </a>
  </tr>
...
...
No se. Supongo q hagl se me escapa.

Bueno, si a alguno se os ocurre una explicación, o una solución + adecuada, decirlo.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Última edición por fjmasero; 14/11/2003 a las 05:46
  #2 (permalink)  
Antiguo 20/11/2003, 09:17
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 22 años, 1 mes
Puntos: 5
No se te escapa nada fjmasero. Necesitas el return true en el onmouseover para que se te establezca el status. Recuerda que si no lo colocas, lo que hará será colocar el 'link' en el status. El return true lo que te dice es que sí se realice el evento del onmouseover sobre el window.status.

Es como cuando le pones al onlcick="return false;" para que no se ejecute algun click como por ejemplo:
Código:
<a href="algo.htm"  onclick="return false;">No pasa nada aunque le des click aqui</a>
Un consejo que si te puedo dar es que si puedes le coloques también el onmouseout en nulo como por ejemplo en
Código:
<a href="algo.htm" onmouseover="status='Aqui estoy!';return true" onmouseout="status=' '">No des click aqui pero vela cuando alejas el raton como se va del status el mensajito</a>
Aqui te dejo un script que quizás pueda ayudarte si quieres cambiar a muchos colores tambien...se puede seguir depurando
Código:
<html>
<head>
<script language="javascript">
  function celda(num, elcolor)   {
    document.all[num].bgColor = elcolor;  }
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table border="2">
  <tr id="celda1" onmouseover="celda('celda1','#CCCCFF');status='mensaje1 aqui';return true;"
      onmouseout="celda('celda1','#ffffff');status=''" >
 <td><a href="algo.htm" >El primero</a></td>
  </tr>
  <tr id="celda2" onmouseover="celda('celda2','#FFFFCC');status='mensaje2 aqui';return true;"
      onmouseout="celda('celda2','#ffffff');"  >
    <td><a href="algo2.htm">El segundo</a></td>
  </tr> 
</table>
Nota: Esta puesto para que al darle click al link vaya a otra pagina, no por la celda...pero puede cambiarse claro. Y observa la diferencia entre el onmouseout de la primera celda y la segunda.
</body>
</html>
Saludos
__________________
Yanira

Última edición por Yanix; 20/11/2003 a las 09:25
  #3 (permalink)  
Antiguo 20/11/2003, 09:19
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 22 años, 1 mes
Puntos: 5
PD: Solamente probado en IE....
__________________
Yanira
  #4 (permalink)  
Antiguo 20/11/2003, 10:19
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 1 mes
Puntos: 1
Bueno Yanix:

Gracias por contestarme.

Si es q se me va la olla. Claro q el link necesita el onmouseover pq si no, por defecto, cambia el status. Pero en su momento no estuve muy avisapado q digamos.

Sobre los colorines, bueno, está claro q si necesitas cambiar colores y lo tienes q hacer en varios sitios, estoy de acuerdo en q hay q hacerlo como tú, o similar, pero en el caso q tengo, solo está en un sitio, y no hay problema si en el futuro hay q cambiar el color usado.

A tu forma de hacerlo, así, en un primer vistazo, sin pretender pasarme de listo ni mucho menos, yo cambiaria lo siguiente:
Código:
<html>
  <head>
    <script language="javascript">
    <!--
      function celda(obj, elcolor)
      {
        obj.style.backgroundColor = elcolor;
      }
     //-->
    </script>
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <table border="2">
      <tr id="celda1" onmouseover="celda(this,'#CCCCFF');status='mensaje1 aqui';return true;" onmouseout="celda(this,'#ffffff');status=''" >
        <td><a href="algo.htm" >El primero</a></td>
      </tr>
      <tr id="celda2" onmouseover="celda(this,'#FFFFCC');status='mensaje2 aqui';return true;" onmouseout="celda(this,'#ffffff');" >
        <td><a href="algo2.htm">El segundo</a></td>
      </tr> 
    </table>
  </body>
</html>
y asi ya funciona en NS 6.X.

Bueno, nuevamente GRACIAS
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Última edición por fjmasero; 20/11/2003 a las 10:22
  #5 (permalink)  
Antiguo 20/11/2003, 11:23
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 22 años, 1 mes
Puntos: 5
para que sirva entonces en Netscape!

Asi que cada vez que someta un codigo...le haces la pruebita en Netscape si? Y modificalo a gusto. Yo no lo puedo probar pq aca solo trabajamos con IE
__________________
Yanira
  #6 (permalink)  
Antiguo 20/11/2003, 13:39
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 1 mes
Puntos: 1
Bueno, lo cierto es q trabajo, entre otras cosas, con asp, asi q lo primordial es IE, pero para estas pruebecitas, si lo hago también con NS.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
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 18:37.