javascript實現的三級下拉導航選單
本章節介紹一下分享一段使用原生javascript實現的三級下拉導航選單效果。
在實際應用中更為常見的是二級導航選單,但是三級導航的選單的出現頻率也並不少,當然實現更為複雜一些。
下面就是程式碼例項,需要的朋友可以進行一下參考。
程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ margin:0; padding:0; border:0; } li{list-style: none;} .clearfix:after{ content:" "; display:block; height:0; clear:both; visibility:hidden; } .clearfix{display: inline-block;} a:link{ color:#000; text-decoration:none; } a:visited{ color:#000; text-decoration:none; } a:hover{ color:#000; text-decoration:none; } .menu{ width:778px; height:26px; background:#fff; margin:0 auto; } .menusel{ float:left; width:100px; position:relative; height:25px; background:#ddd; line-height:25px; margin-left:1px; *margin-left:0px; _margin-left:-1px; } .menusel h2{font-size:12px;} .menusel a{ display:block; text-align:center; width:100px; border:1px solid #a4a4a4; height:25px; border-bottom:1px solid #a4a4a4; position:relative; z-index:2; } .menusel a:hover{ border:1px solid #a4a4a4; border-bottom:1px dashed #eeeeee; position:relative; z-index:2; height:25px; } .ahover a{ border-bottom:1px dashed #eeeeee; background:#eeeeee; } .position{ position:absolute; z-index:1; } .menusel ul{ width:125px; background:#eee; border:1px solid #a4a4a4; margin-top:-1px; position:relative; z-index:1; display:none; } .menusel .block{ display:block; } .typeul li{ border-bottom:1px dashed #a4a4a4; width:125px; position:relative; float:left; } .typeul li a{ border:none; width:125px; } .typeul li a:hover{ border:none; background:#ddd; } .typeul{ margin-left:0; } .typeul ul{ left:125px; top:0; position:absolute; } .fli{ margin-left:-1px; border-left:#eeeeee solid 1px; } .menusel .lli{ border:none; } </style> </head> <body> <div class="menu"> <div id="menu1" class="menusel"> <h2><a href="/">選單1</a></h2> <div class="position"> <ul class="clearfix typeul"> <li><a href="http://www.jb51.net">選單選項1-2</a></li> <li> <a href="#">選單選項1-2</a> <ul> <li class="fli"><a href="#">選單選項1-2-1</a></li> <li class="lli"><a href="#">選單選項1-2-2</a></li> </ul> </li> <li><a href="http://www.jb51.net">選單選項1-2</a></li> <li class="lli"><a href="#">選單選項1-2</a></li> </ul> </div> <!-- position --> </div> <!-- menusel --> <div id="menu2" class="menusel"> <h2><a href="#">選單2</a></h2> <div class="position"> <ul class="clearfix typeul"> <li><a href="#">選單選項2-2</a></li> <li><a href="#">選單選項2-2</a> <ul> <li class="fli"><a href="#">選單選項2-2-1</a></li> <li class="lli"><a href="#">選單選項2-2-2</a> <ul> <li class="fli"><a href="#">選單選項2-2-1</a></li> <li class="lli"><a href="#">選單選項2-2-2</a> </li> </ul> </li> </ul> </li> <li><a href="#">選單選項2-2</a></li> <li class="lli"><a href="#">選單選項2-2</a></li> </ul> </div> <!-- position --> </div> <!-- menusel --> <div id="menu3" class="menusel"> <h2><a href="#">選單3</a></h2> <div class="position"> <ul class="clearfix typeul"> <li><a href="#">選單選項3-2</a></li> <li><a href="#">選單選項3-2</a> <ul> <li class="fli"><a href="#">選單選項3-2-1</a></li> <li class="lli"><a href="#">選單選項3-2-2</a> <ul> <li class="fli"><a href="#">選單選項3-2-1</a></li> <li class="lli"><a href="#">選單選項3-2-2</a> <ul> <li class="fli"><a href="#">選單選項3-2-1</a></li> <li class="lli"><a href="#">選單選項3-2-2</a></li> </ul> </li> </ul> </li> </ul> </li> <li><a href="#">選單選項3-2</a></li> <li class="lli"><a href="#">選單選項3-2</a></li> </ul> </div> <!-- position --> </div> <!-- menusel --> </div> <!-- menu --> <script type="text/javascript"> for(var x = 1; x < 4; x++) { var menuid = document.getElementById("menu"+x); menuid.num = x; type(); } function type(){ var menuh2 = menuid.getElementsByTagName("h2"); var menuul = menuid.getElementsByTagName("ul"); var menuli = menuul[0].getElementsByTagName("li"); menuh2[0].onmouseover = show; menuh2[0].onmouseout = unshow; menuul[0].onmouseover = show; menuul[0].onmouseout = unshow; function show(){ menuul[0].className = "clearfix typeul block" } function unshow(){ menuul[0].className = "typeul" } for(var i = 0; i < menuli.length; i++){ menuli[i].num = i; var liul = menuli[i].getElementsByTagName("ul")[0]; if(liul){ typeshow() } } function typeshow(){ menuli[i].onmouseover = showul; menuli[i].onmouseout = unshowul; } function showul(){ menuli[this.num].getElementsByTagName("ul")[0].className = "block"; } function unshowul(){ menuli[this.num].getElementsByTagName("ul")[0].className = ""; } } </script> </body> </html>
相關文章
- JavaScript 三級導航選單JavaScript
- CSS三級下拉導航選單詳解CSS
- JavaScript slide下拉導航選單效果JavaScriptIDE
- JavaScript實現HTML導航欄下拉選單[懸浮顯示]JavaScriptHTML
- JavaScript下拉摺疊導航選單講解JavaScript
- JavaScript二級導航選單JavaScript
- jQuery 緩衝效果二級導航下拉選單jQuery
- 二級下拉導航選單製作詳解
- CSS垂直三級導航選單CSS
- CSS導航欄及下拉選單CSS
- jQuery三級導航選單詳解jQuery
- JavaScript橫向二級導航選單效果JavaScript
- 純css製作導航下拉選單CSS
- jquery實現四級級聯下拉選單jQuery
- jQuery 淡入淡出效果下拉導航選單jQuery
- 滑鼠懸浮緩慢下拉導航選單
- CSS學習案例(14):下拉導航選單CSS
- JavaScript二級下拉選單詳解JavaScript
- jquery-滑鼠經過導航條,顯示二級下拉選單jQuery
- [開發教程] 第32講:Bootstrap導航選單裡的下拉選單boot
- bootstrap 選單導航選單nav li滑鼠移入hover下拉顯示boot
- PbootCMS導航選單-導航選單的使用教程boot
- CSS多級導航選單效果CSS
- CSS3動畫效果下拉導航選單效果CSSS3動畫
- jq+css+html打造下拉導航選單例項CSSHTML單例
- JavaScript滑鼠懸浮出現下拉選單效果JavaScript
- 點選平滑下拉展開摺疊樹形導航選單
- 垂直摺疊導航選單實現詳解
- JavaScript 動畫效果緩慢二級下拉選單JavaScript動畫
- JavaScript可摺疊屬性導航選單JavaScript
- JavaScript帶下拉選單的文字框JavaScript
- js物件導向封裝級聯下拉選單列表JS物件封裝
- HTML+CSS實現下拉選單HTMLCSS
- CSS 二級下拉選單CSS
- CSS二級下拉選單CSS
- checkbox及css實現點選下拉選單CSS
- C#實現的下拉多選框,下拉多選樹,多級節點C#
- 採用JavaScript+XML實現具有樹形選單功能的論壇側邊導航欄JavaScriptXML
- 中英文切換導航選單實現詳解