El Desplegable Todavia ...

Teresa
22 de Marzo del 2002
Disculpa Wolverine te envio el codigo de mi menú y una partecita de donde lo llamo el tuyo es excelente pero no se como llamarlo de una coordenada especifica.

Este es mi menú, pero no desaparece solo cuando llega al ultimo item.

<html>

<head>
<title>Ejemplo 3</title>

<style>
a:link {text-decoration: none}
a:visited {text-decoration: none}
a:active {text-decoration: none}
a:hover {text-decoration: underline}

.menu{
position:absolute;
width:90px;
border:1px solid black;
background-color:#6699CC;
font-family:Verdana;
font-size: 10px;
line-height:11px;
cursor:default;
visibility:hidden;
}

.menuitems{
padding-left:10px;
padding-right:10px;
}

.subtitulo{
padding-left:10px;
padding-right:10px;
}
</style>

<script language="JavaScript1.2">
var menuskin=0;
function mostrarMenu(){
var bordeDerecho = document.body.clientWidth - event.clientX; //lo que queda hasta el borde derecho
var bordeInferior = document.body.clientHeight - event.clientY; //lo que queda hasta el borde inferior

if (bordeDerecho<menuDiv.offsetWidth) {
menuDiv.style.left=document.body.scrollLeft+event.clientX-menuDiv.offsetWidth
} else {
menuDiv.style.left=document.body.scrollLeft+event.clientX
}

if (bordeInferior<menuDiv.offsetHeight) {
menuDiv.style.top=document.body.scrollTop+event.clientY-menuDiv.offsetHeight
} else {
menuDiv.style.top=document.body.scrollTop+event.clientY
}

menuDiv.style.visibility="visible"
return false
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function ocultarMenu(){
menuDiv.style.visibility="hidden";
}


function encender(){
if (event.srcElement.className=="menuitems"){
event.srcElement.style.backgroundColor="highlight";
event.srcElement.style.color="white";
}
}


function apagar(){
if (event.srcElement.className=="menuitems"){
event.srcElement.style.backgroundColor="";
event.srcElement.style.color="black";
}
}


function irA(){
if (event.srcElement.className=="menuitems"){
if (event.srcElement.getAttribute("target")!=null){
window.open(event.srcElement.url,event.srcElement.getAttribute("target"))
} else {
window.location=event.srcElement.url
}
}
}

</script>


<body leftMargin="0" topMargin="0" marginwidth="0" marginheight="0" bgColor="#6699CC" text="#000000">

<!--[if IE 5]>
<div id="menuDiv" class="menu" onMouseover="encender()" onMouseout="apagar();MM_swapImgRestore();FW_startTimeout();" onClick="irA()">

<div class="menuitems" onMouseup="ocultarMenu()" ><B><font color=##000080>Aragua</font></B></div>
<div class="menuitems" onMouseup="ocultarMenu()" url="http://www.programacion.net" target="_blank">Obras</div>
<div class="menuitems" onMouseout="ocultarMenu()" "url="http://www.webestilo.com" target="_blank">Proyectos</div>




</div>
<![endif]-->

<script language="JavaScript1.2">

if (document.all && window.print){
document.onmouseOut=ocultarMenu;
document.onmouseup=ocultarMenu;
document.onMouseOver=mostrarMenu;
}

</script>
<a onMouseOver="mostrarMenu()"> Tramites</a>
</body>
</html>

Aqui lo llamo
<area shape="poly" coords="195,66,199,75,196,69,202,80,205,85,208,90,214,90,219,91,226,93,226,99,227,105,234,109,237,97,234,102,235,99,235,94,235,89,235,84,227,84,220,79,220,76,220,71,215,64,210,66,204,66,200,67 onMouseOver="onMouseOver="mostrarMenu()" "title="Aragua">










Wolverine
22 de Marzo del 2002
Hola Teresa.

Vi el menú y me pareció excelente, pero podríamos hacer uan función más sencilla para que quedara lo mas legible que se pueda. El código es muy largo, pero con unos cuantos ajustes, extraemos cosas que sean más fáciles de utilizar. La gravedad del asunto, es que tu declaraste estilos para luego utilizarlos con "class" en una DIV, esto está muy bien, pero no es del todo recomendable. Lo que puedes hacer, es crear el mismo mapa, pero en vez de declarar un estilo con la etiqueta <STYLE>, lo declares con el atributo "style" dentro de la DIV. Y luego le pones: Style="left:(coordenada x);top:(coordenada y)". Luego verás como funciona más fácil.

Atte Wolverine.
PD: Igual voy a estudiar el código y ojalá que podamos encontrar una solución.

Wolverine
22 de Marzo del 2002
Bueno Teresa, un error que le encontré, es que te faltó agregarle al ancla "trámite", al evento "OnMouseOut", que restaura el menú cuando se quita el mouse de encima.

Los otros los estoy estudiando ahora y ojalá tenga una solución pronto.

Atte Wolverine