Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/01/2009, 11:58
posman
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Mostar - Ocultar DIV - Problema con OnMouseOut.

Cuando sales del TD (o sea, cuando se ejecuta onmouseout) tienes que poner un "retraso" para ocultar el DIV. Y cuando entres al DIV (submenu), si aun esta activo el retraso, lo eliminas y ya no se va a ocultar.
  1. En el onmouseout del TD, crear temporizador para ocultar el submenu
  2. En el evento onmouseover del submenu, desactivar el temporizador que oculta el submenu
  3. En el onmouseout del submenu, ocultar el mismo submenu

Puedes utilizar la funcion setTimeout para retardar un poco el ocultar el DIV. Despues tienes que usar la funcion clearTimeout para desactivar el temporizador. Puedes ser algo como esto:

Código:
<td onmouseover="mostrar();" onmouseout="tempo=setTimeout('ocultar();',1000);">
...
Esto creara un temporizador (tempo) que ejecutara la funcion ocultar() un segundo despues que el mouse salio del TD. Ahora, en el submenu, tienes que poner:

Código:
<div id="menu" onmouseover="clearTimeout(tempo);" onmouseout="ocultar();">
...

Última edición por posman; 23/01/2009 a las 12:05