Estoy intentando hacer que un pequeño menú aparezca al pasar sobre un link y que desaparezca al pulsar sobre un opción o al salir del propio menú. He conseguido que el menú aparezca, pero le digo que desaparezca al salir de él con onmouseout del div que contiene el menú y se oculta en cuanto salgo de la primera línea del menú. He visto en el foro que hay otra persona con el mismo problema que yo, pero nadie le ha respondido (http://www.forosdelweb.com/showthrea...mouseout+layer)
Aquí tenéis el código lo más reducico que he podido:
Código PHP:
<html>
<head>
<style type="text/css">
.capa {
background-color: #FDDBD7;
border-style: solid;
border-width: 1px;
position: absolute;
visibility: hidden;
}
</style>
<script language="JavaScript" type="text/javascript">
<!--
function muestra(idCapa, evento) {
var capa;
// Recuperamos el objeto capa dependiendo del navegador
if (document.layers) capa = eval("document." + idCapa);
if (document.all) capa = eval(idCapa);
if (document.getElementById) capa = eval('document.getElementById("' + idCapa + '")');
// Calculamos las coordenadas en las que va a aparecer y se las asignamos
var x = (document.all)? evento.x + document.body.scrollLeft : evento.pageX;
var y = (document.all)? evento.y + document.body.scrollTop : evento.pageY;
capa.style.left = x - 5;
capa.style.top = y - 5;
// Creamos el contenido del menu
var cont = "<table class='menu'><tr class='cabecera'><td>ACCION</td></tr>";
cont += "<tr><td><a href='http://www.google.com'>google</a></td></tr>";
cont += "<tr><td><a href='http://www.yahoo.com'>yahoo</a></td></tr>";
cont += "</table>";
capa.innerHTML = cont;
// Mostramos la capa
capa.style.visibility = (document.layers) ? "show" : "visible";
}
function oculta(capa) {
capa.style.visibility = (document.layers) ? "hide" : "hidden";
}
// -->
</script>
</head>
<body>
<div id="contenedor" class="capa" onmouseout="oculta(this)"></div>
<a href="#" onmouseover="muestra('contenedor', event)">menu</a>
</body>
</html>
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)