Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/06/2003, 17:14
Valdenet
Invitado
 
Mensajes: n/a
Puntos:
Bueno, aquí os dejo el código, es un poquitín largo, pero no tengo otro lugar donde ponerlo.

<html>
<head>
<title>Ejemplo sencillo de Menú</title>
<style>
#contieneMenu{
position:RELATIVE;
top:0px;
left:0px;
}
TD.menu{
background:navy;
color:white;
font:normal 10px/10px verdana;
text-align:center;
width:100px;
padding:5px 10px 5px 10px;
}
A.enlaceMenu{
color:#ffffcc;
font:normal 10px/10px verdana;
text-decoration:none;
}
A.enlaceMenu:HOVER{
color:white;
font:normal 10px/10px verdana;
}

#contieneSubmenu{
position:relative;
top:22px;
left:-100px;
}
TD.submenu{
background:#ccccdd;
color:white;
font:normal 10px/10px verdana;
text-align:center;
width:118px;
height:20px;
border:solid 1px navy;
padding:0px 0px 0px 0px;
}

A.enlaceSubmenu{
width:100%;
height:100%;
color:#ffffcc;
font:normal 10px/20px verdana;
text-decoration:none;
}
A.enlaceSubmenu:HOVER{
color:white;
font:normal 10px/20px verdana;
background:navy;
}


</style>

<script>
var menu=new Array();
var submenu=new Array();
//OJO LO DE ABAJO DEBE QUEDAR EN UNA LINEA!!!!vvvvvvvvvvvvvvv
function nuevo(titulo,enlace,submenu1,destino1,submenu2,des tino2,submenu3,destino3,submenu4,destino4,submenu5 ,destino5,submenu6,destino6){
//OJO LO DE ARRIBA DEBE QUEDAR EN UNA LINEA ^^^^^^^^^^^^^^
this.titulo=titulo;
this.destino=enlace;
for (c=1;c<7;c++){
eval("if(submenu"+c+"){this.opcion"+c+"=submenu"+c +";this.enlace"+c+"=destino"+c+"}\n else{this.opcion" + c + "='----'}");

}
}

codigo="<table style='position:absolute;top:0px;'><tr>"
function crearMenu(){
for(a=0;a<menu.length;a++){
if (menu[a].destino){texto="<A class='enlaceMenu' HREF='"+menu[a].destino+"'>"+menu[a].titulo+"</A>";}
else texto=menu[a].titulo;
codigo+="<td onmouseover='mostrar("+a+")' class='menu'>"+texto+"</td>";
submenu[a]="<table id='"+a+"' >\n"
for(b=1;b<7;b++){
eval("if(menu[a].opcion" + b +"!='----'){submenu[a]+='<tr><td class=\"submenu\"><A class=\"enlaceSubmenu\" HREF=\"'+menu[a].enlace"+b+"+'\">'+ menu[a].opcion"+b+"+ '</A></td></tr>';}");

}
submenu[a]+="</table>";

}
codigo+="</tr></table>";
document.getElementById("contieneMenu").innerHTML= codigo;
}
function mostrar(apartado){
document.getElementById("contieneSubmenu").innerHT ML=submenu[apartado];
if(document.all){document.getElementById("contiene Submenu").style.left=(2+(apartado*120))
}
else{document.getElementById("contieneSubmenu").st yle.left=apartado*50}
}
</script>

<script>
menu[0]=new nuevo("inicio","index.html");
menu[1]=new nuevo("Apartados","","Camino Soria","camino.html","Solvencia","solvencia.html", "Resquemor","resquemor.html","Destitución","destit uir.html");
menu[2]=new nuevo("Contacto","contacto.html","Enviar Email","email.html","Donde estamos","localizacion.html");
menu[3]=new nuevo("KarlanKas","http://www.webareyou.com")
</script>

</head>

<body onload="crearMenu()" >
<table><tr><td><br>
<br>
<br>
</td></tr><TR>
<td><div id="contieneMenu"></div></td></TR></table>

<div id="contieneSubmenu" onmouseleave='document.getElementById("contieneSub menu").style.left="-1000"'></div>
</body>
</html>


Con este código puedo mover la posición del menú principal pero no de sus submenús. A ver si vosotros podéis hacer algo más.

Un saludo.

P.D.: Este código me lo proporcionó Karlankas, de estos mismos foros.