Menus desplegables

lr
02 de Diciembre del 2005
Hola a todos, ¿alguien podría decirme (preferiblemente con un código de ejemplo sencillo) cómo se hace un menu desplegable con desbordamiento?, por ejemplo como el que sale al pasar el raton sobre \'About Acer\' en http://global.acer.com/ Un saludo y muchas gracias a todos.

invitado
02 de Diciembre del 2005
Hola.
No te gustara mejor este menu...?

Prueba en una pagina nueva, totalmente con el codigo en blanco, y luego modifica a tus necesidades.

Cuidado que los enlaces funcionan !!!

------------


<HTML>
<HEAD>

<TITLE>Static Slide Menu</TITLE>

<SCRIPT language="JavaScript">
<!--

/*
Copyright © MaXimuS 1999-2000, All Rights Reserved.
Site: http://www.absolutegb.com/maximus
E-mail: [email protected]
*/

IE=document.all;
NS=document.layers;

/*
Configure menu styles below
NOTE: To edit the link colors, go to the STYLE tags and edit the ssm2Items colors
*/
hdrFontFamily="Verdana";
hdrFontSize="2";
hdrFontColor="white";
hdrBGColor="#666666";
linkFontFamily="Verdana";
linkFontSize="1";
linkBGColor="white";
linkOverBGColor="#CCCCCC";
linkTarget="_top";
YOffset=20;
staticYOffset=20;
menuBGColor="black";
menuIsStatic="yes";
menuHeader="Gamarod.com.ar"
menuWidth=150; // Must be a multiple of 5!
staticMode="advanced"
barBGColor="#333333";
barFontFamily="Verdana";
barFontSize="2";
barFontColor="white";
barText="Gamarod JavaScript";

function moveOut() {
if (window.cancel) {cancel="";}
if (window.moving2) {clearTimeout(moving2); moving2="";}
if ((IE && ssm2.style.pixelLeft<0)||(NS && document.ssm2.left<0)) {
if (IE) {ssm2.style.pixelLeft += (5%menuWidth);}
if (NS) {document.ssm2.left += (5%menuWidth);}
moving1 = setTimeout('moveOut()', 5)}
else {clearTimeout(moving1)}};
function moveBack() {
cancel = moveBack1()}
function moveBack1() {
if (window.moving1) {clearTimeout(moving1)}
if ((IE && ssm2.style.pixelLeft>(-menuWidth))||(NS && document.ssm2.left>(-140))) {
if (IE) {ssm2.style.pixelLeft -= (5%menuWidth);}
if (NS) {document.ssm2.left -= (5%menuWidth);}
moving2 = setTimeout('moveBack1()', 5)}
else {clearTimeout(moving2)}};

lastY = 0;
function makeStatic(mode) {
if (IE) {winY = document.body.scrollTop;var NM=ssm2.style}
if (NS) {winY = window.pageYOffset;var NM=document.ssm2}
if (mode=="smooth") {
if ((IE||NS) && winY!=lastY) {
smooth = .2 * (winY - lastY);
if(smooth > 0) smooth = Math.ceil(smooth);
else smooth = Math.floor(smooth);
if (IE) NM.pixelTop+=smooth;
if (NS) NM.top+=smooth;
lastY = lastY+smooth;}
setTimeout('makeStatic("smooth")', 1)}
else if (mode=="advanced") {
if ((IE||NS) && winY>YOffset-staticYOffset) {
if (IE) {NM.pixelTop=winY+staticYOffset}
if (NS) {NM.top=winY+staticYOffset}}
else {
if (IE) {NM.pixelTop=YOffset}
if (NS) {NM.top=YOffset-7}}
setTimeout('makeStatic("advanced")', 1)}}

function init() {
if (IE) {
ssm2.style.pixelLeft = -menuWidth;
ssm2.style.visibility = "visible"}
else if (NS) {
document.ssm2.left = -menuWidth;
document.ssm2.visibility = "show"}
else {alert('Choose either the "smooth" or "advanced" static modes!')}}

//-->
</SCRIPT>
<STYLE>
A.ssm2Items:link {color:black;text-decoration:none;}
A.ssm2Items:hover {color:black;text-decoration:none;}
A.ssm2Items:active {color:black;text-decoration:none;}
A.ssm2Items:visited {color:black;text-decoration:none;}
</STYLE>
</HEAD>
<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="init()">
<script language="JavaScript1.2">
if (IE) {document.write('<DIV ID="ssm2" style="visibility:hidden;Position : Absolute ;Left : 0px ;Top : '+YOffset+'px ;Z-Index : 20;width:1px" onmouseover="moveOut()" onmouseout="moveBack()">')}
if (NS) {document.write('<LAYER visibility="hide" top="'+YOffset+'" name="ssm2" bgcolor="'+menuBGColor+'" left="0" onmouseover="moveOut()" onmouseout="moveBack()">')}
tempBar=""
for (i=0;i<barText.length;i++) {
tempBar+=barText.substring(i, i+1)+"<BR>"}
document.write('<table border="0" cellpadding="0" cellspacing="1" width="'+(menuWidth+16+2)+'" bgcolor="'+menuBGColor+'"><tr><td bgcolor="'+hdrBGColor+'" WIDTH="'+menuWidth+'"> <font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"><b>'+menuHeader+'</b></font></td><td align="center" rowspan="100" width="16" bgcolor="'+barBGColor+'"><p align="center"><font face="'+barFontFamily+'" Size="'+barFontSize+'" COLOR="'+barFontColor+'"><B>'+tempBar+'</B></font></p></TD></tr>')
function addItem(text, link, target) {
if (!target) {target=linkTarget}
document.write('<TR><TD BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%"><FONT face="'+linkFontFamily+'" Size="'+linkFontSize+'"> <A HREF="'+link+'" target="'+target+'" CLASS="ssm2Items">'+text+'</LAYER></ILAYER></TD></TR>')}
function addHdr(text) {
document.write('<tr><td bgcolor="'+hdrBGColor+'" WIDTH="140"> <font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"><b>'+text+'</b></font></td></tr>')}

//Only edit the script between HERE

addItem('Buscador de Rutinas', 'buscar.htm', '');
addItem('Foros de Discusión', '/foros/', '');
addItem('Lista de Correo', '/lista.htm', '');
addItem('Comentarios', '/comentarios.htm', '');
addItem('Contribución', '/contribuir.htm', '');
addItem('Firmar el Libro', '/firmar.htm', '');
addItem('Enlaces', '/enlaces.htm', '');
addItem('Agregar URL', 'agregar.htm', '');
addHdr('Todos los Script');
addItem('Alertas', 'alertas.htm', '');
addItem('Banner', 'banner.htm', '');
addItem('Cookies', 'cookies.htm', '');
addItem('Dhtml', 'dhtml.htm', '');
addItem('Enlaces', 'enlaces.htm', '');
addItem('Fecha', 'fecha.htm', '');
addItem('Imagen', 'imagen.htm', '');
addItem('Juegos', 'juegos.htm', '');
addItem('Midis', 'midis.htm', '');
addItem('Otras', 'otras.htm', '');
addItem('Prompt', 'prompt.htm', '');
addItem('Reloj', 'reloj.htm', '');
addItem('Seguridad', 'seguridad.htm', '');
addItem('Texto', 'texto.htm', '');
addItem('Ventana', 'ventana.htm', '');

// and HERE! No more!

document.write('<tr><td bgcolor="'+hdrBGColor+'"><font size="0" face="Arial"> </font></td></TR></table>')
if (IE) {document.write('</DIV>')}
if (NS) {document.write('</LAYER>')}
if ((IE||NS) && (menuIsStatic=="yes"&&staticMode)) {makeStatic(staticMode);}
</script>


<br><br><br>

</BODY>
</HTML>

prudenciano maga?arcia
02 de Diciembre del 2005
Quiero felicitarlos por su excelente codigo de los menús porque realmente funciona y es muy elegante. de antemano muchas gracias y si pudieran enviarme a mi direccion de correo codigo de otro tipo de menus sería magnifico...

agracias!!!!