本文實例講述了JavaScript實現向右伸出的多級網頁菜單效果。分享給大家供大家參考。具體如下:
這裡使用JavaScript實現向右伸出的多級網頁菜單效果,鼠標放在左側的主菜單上,右側就伸展出二級菜單,基本沒有美化,新手所寫,歡迎指正,需要完善的地方還挺多。
運行效果截圖如下:
在線演示地址如下:
http://demo.jb51.net/js/2015/js-right-show-web-menu-codes/
具體代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>向右伸出的多級菜單</title> <style type="text/css"> *{ padding:0; margin:0; } li{ list-style:none; } ul{ background:rgb(200,13,34); width:250px; float:left; } b{ display:block; width:500px; height:40px; background:rgb(24,122,173); } ul li{ height:32px; } ul li:hover{ height:32px; background:orange; } #nav1{ position:absolute; } #nav3{ position:relative; left:0; background:green; visibility:hidden; } </style> </head> <body> <div id="nav1"> <ul id="nav2"> <li>文學</li> <li>藝術</li> <li>攝影</li> </ul> <ul id="nav3"> <li>1-1</li> <li>2-1</li> <li>3-1</li> </ul> </div> <script type="text/javascript"> var focus=false; var showdiv=document.getElementById("nav3"); showdiv.onmouseover=function(){ focus=true; this.style.visibility="visible"; } showdiv.onmouseout=function(){ focus=false; this.style.visibility="hidden"; } function bindToggle(index,flag){ var showdiv= document.getElementById("nav3"); var delayshow= function(){ if(flag ==1 ){ showdiv.style.visibility="visible"; showdiv.style.top=index*32+"px"; }else { if(!focus){ showdiv.style.visibility="hidden"; } } } return function(){ setTimeout(delayshow,150); } } var menu=document.getElementById("nav2").childNodes; var index=0; for(var i=0;i<menu.length;i++){ if(1==menu[i].nodeType){ menu[i].onmouseover= bindToggle.call(menu[i],index,1); menu[i].onmouseout= bindToggle.call(menu[i],index,0); index++; } } </script> </body> </html>
希望本文所述對大家的javascript程序設計有所幫助。