THE HTML ------------
THE JAVASCRIPT ---------------- var timeout = 500; var closetimer = 0; var ddmenuitem = 0; // open hidden layer function mopen(id) { // cancel close timer mcancelclosetime(); // close old layer if(ddmenuitem) ddmenuitem.style.visibility = 'hidden'; // get new layer and show it ddmenuitem = document.getElementById(id); ddmenuitem.style.visibility = 'visible'; } // close showed layer function mclose() { if(ddmenuitem) ddmenuitem.style.visibility = 'hidden'; } // go close timer function mclosetime() { closetimer = window.setTimeout(mclose, timeout); } // cancel close timer function mcancelclosetime() { if(closetimer) { window.clearTimeout(closetimer); closetimer = null; } } // close layer when click-out document.onclick = mclose; THE CSS ------- #sddm { margin: 0; padding: 0; z-index: 30; } #sddm li { margin: 0; padding: 0; list-style: none; float: left; font: bold 14px arial} #sddm li a { display: block; margin: 0 1px 0 0; padding: 4px 3px; width: 100px; background:url(/images/top_nav_bkrnd.png); color: #ccc; text-align: center; text-decoration: none } #sddm li a:hover { /* text-decoration:underline;*/ color:#fff; } #sddm div { position: absolute; visibility: hidden; margin: 0; padding: 0; background: #D5EAF5; border:1px solid #000; } #sddm div a { position: relative; display: block; margin: 0; padding: 3px 10px; width: auto; white-space: nowrap; text-align: left; text-decoration: none; background: #D5EAF5; color: #000; font: 12px arial; border-bottom:1px solid #fff; } #sddm div a:hover{ background: #fff; color: blue; text-decoration:underline; }