太簡單了,不多說,但是自己還是寫了一會,因為總會出現這樣那樣小的錯誤,畢境最近在復習和學習一些前台,歡迎看到的各位能給點改進意見或者其它的,Thank you!
首先是發圖,只用CSS寫了結構,幾乎沒加任何修飾,因為現在不是做那個的時候;
說明:如圖一橫向的菜單,當鼠標懸浮在上邊時,下拉菜單出現,當鼠標不在上邊時下拉菜單隱藏,僅此而已
環境:FireFox 23.0.1
原代碼,都在一個頁面中吧,只是為了學習而已
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title></title> <style type="text/css"> #menu ul{ padding:0;margin:0; } #menu li{ position:relative; width:100px; display:inline-block; } #menu li ul{ position:absolute; top:100%; left:0; height:auto; background-color:white; } </style> </head> <body> <a href="javascript:void(0)" onClick="menu()">Bind The Click</a> <ul id="menu"> <li> Home <ul> <li>Home</li> <li>Product</li> <li>Address</li> <li>Contract</li> <li>Help</li> </ul> </li> <li>Product</li> <li>Address</li> <li>Contract</li> <li> Help <ul> <li class="home">Home</li> <li>Product</li> <li>Address</li> <li>Contract</li> <li>Help</li> </ul> </li> </ul> <script type="text/javascript"> function menu(){ var elem=document.getElementById("menu"); var ul=elem.getElementsByTagName("ul") for(var i=0;i<ul.length;i++){ ul[i].style.display="none"; } //bind the action var li=elem.getElementsByTagName("li"); for(var i=0;i<li.length;i++){ li[i].onmouseover=function(){ var inli=this.getElementsByTagName("ul"); for(var j=0;j<inli.length;j++){ inli[j].style.display="block"; } }; li[i].onmouseout=function(){ var inli=this.getElementsByTagName("ul"); for(var j=0;j<inli.length;j++){ inli[j].style.display="none"; } } } } window.onload=menu(); </script> </body> </html>