本文實例講述了JS實現三級折疊菜單特效,其它級可自動收縮。分享給大家供大家參考,很實用,在IE6、IE7、IE8、FF、chrome等浏覽器都正常運行具體如下:
小貼士:去掉CSS中 #menu ul中 {height:100px; overflow:auto;} 即可高度自適應
運行效果圖如下:
實現代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>三級折疊菜單</title> <style> *,body,ul,h1,h2{ margin:0; padding:0; list-style:none;} body{font:12px "宋體"; padding-top:20px;} a{ color:#777;border:none;} #menu { width:200px; margin:auto;} #menu h1 { font-size:12px; border:#C60 1px solid; margin-top:1px; background-color:#F93;} #menu h2 { font-size:12px; border:#E7E7E7 1px solid; border-top-color:#FFF; background-color:#F4F4F4;} #menu ul { padding-left:15px; height:100px;border:#E7E7E7 1px solid; border-top:none;overflow:auto;} #menu a { display:block; padding:5px 0 3px 10px; text-decoration:none; overflow:hidden;} #menu a:hover{ color:#6F0; background:#000;} #menu .no {display:none;} #menu .h1 a{color:#6F0;} #menu .h2 a{color:#06F;} #menu h1 a{color:#FFF;} </style> <script language="JavaScript"> <!--// function ShowMenu(obj,n){ var Nav = obj.parentNode; if(!Nav.id){ var BName = Nav.getElementsByTagName("ul"); var HName = Nav.getElementsByTagName("h2"); var t = 2; }else{ var BName = document.getElementById(Nav.id).getElementsByTagName("span"); var HName = document.getElementById(Nav.id).getElementsByTagName("h1"); var t = 1; } for(var i=0; i<HName.length;i++){ HName[i].innerHTML = HName[i].innerHTML.replace("-","+"); HName[i].className = ""; } obj.className = "h" + t; for(var i=0; i<BName.length; i++){if(i!=n){BName[i].className = "no";}} if(BName[n].className == "no"){ BName[n].className = ""; obj.innerHTML = obj.innerHTML.replace("+","-"); }else{ BName[n].className = "no"; obj.className = ""; obj.innerHTML = obj.innerHTML.replace("-","+"); } } //--> </script> </head> <body> <div id="menu"> <h1 onClick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 一級菜單A</a></a></h1> <span class="no"> <h2 onClick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 一級菜單A_1</a></a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,1)"><a href="javascript:void(0)">+ 一級菜單A_2</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,2)"><a href="javascript:void(0)">+ 一級菜單A_3</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,3)"><a href="javascript:void(0)">+ 一級菜單A_4</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,4)"><a href="javascript:void(0)">+ 一級菜單A_5</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,5)"><a href="javascript:void(0)">+ 一級菜單A_6</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,6)"><a href="javascript:void(0)">+ 一級菜單A_7</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,7)"><a href="javascript:void(0)">+ 一級菜單A_8</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,8)"><a href="javascript:void(0)">+ 一級菜單A_9</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,9)"><a href="javascript:void(0)">+ 一級菜單A_10</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,10)"><a href="javascript:void(0)">+ 一級菜單A_11</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,11)"><a href="javascript:void(0)">+ 一級菜單A_12</a></h2> <ul class="no"> <a href="javascript:void(0)">一級菜單A_0</a> <a href="javascript:void(0)">一級菜單A_1</a> <a href="javascript:void(0)">一級菜單A_2</a> <a href="javascript:void(0)">一級菜單A_3</a> <a href="javascript:void(0)">一級菜單A_4</a> <a href="javascript:void(0)">一級菜單A_5</a> <a href="javascript:void(0)">一級菜單A_6</a> <a href="javascript:void(0)">一級菜單A_7</a> <a href="javascript:void(0)">一級菜單A_8</a> <a href="javascript:void(0)">一級菜單A_9</a> </ul> </span> <h1 onClick="javascript:ShowMenu(this,1)"><a href="javascript:void(0)">+ 二級菜單B</a></h1> <span class="no"> <h2 onClick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 二級菜單B_1</a></h2> <ul class="no"> <a href="javascript:void(0)">二級菜單B_0</a> <a href="javascript:void(0)">二級菜單B_1</a> <a href="javascript:void(0)">二級菜單B_2</a> <a href="javascript:void(0)">二級菜單B_3</a> <a href="javascript:void(0)">二級菜單B_4</a> <a href="javascript:void(0)">二級菜單B_5</a> <a href="javascript:void(0)">二級菜單B_6</a> <a href="javascript:void(0)">二級菜單B_7</a> <a href="javascript:void(0)">二級菜單B_8</a> <a href="javascript:void(0)">二級菜單B_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,1)"><a href="javascript:void(0)">+ 二級菜單B_2</a></h2> <ul class="no"> <a href="javascript:void(0)">二級菜單B_0</a> <a href="javascript:void(0)">二級菜單B_1</a> <a href="javascript:void(0)">二級菜單B_2</a> <a href="javascript:void(0)">二級菜單B_3</a> <a href="javascript:void(0)">二級菜單B_4</a> <a href="javascript:void(0)">二級菜單B_5</a> <a href="javascript:void(0)">二級菜單B_6</a> <a href="javascript:void(0)">二級菜單B_7</a> <a href="javascript:void(0)">二級菜單B_8</a> <a href="javascript:void(0)">二級菜單B_9</a> </ul> </span> <h1 onClick="javascript:ShowMenu(this,2)"><a href="javascript:void(0)">+ 三級菜單C</a></h1> <span class="no"> <h2 onClick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 三級菜單C_1</a></h2> <ul class="no"> <a href="javascript:void(0)">三級菜單C_0</a> <a href="javascript:void(0)">三級菜單C_1</a> <a href="javascript:void(0)">三級菜單C_2</a> <a href="javascript:void(0)">三級菜單C_3</a> <a href="javascript:void(0)">三級菜單C_4</a> <a href="javascript:void(0)">三級菜單C_5</a> <a href="javascript:void(0)">三級菜單C_6</a> <a href="javascript:void(0)">三級菜單C_7</a> <a href="javascript:void(0)">三級菜單C_8</a> <a href="javascript:void(0)">三級菜單C_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,1)"><a href="javascript:void(0)">+ 三級菜單C_2</a></h2> <ul class="no"> <a href="javascript:void(0)">三級菜單C_0</a> <a href="javascript:void(0)">三級菜單C_1</a> <a href="javascript:void(0)">三級菜單C_2</a> <a href="javascript:void(0)">三級菜單C_3</a> <a href="javascript:void(0)">三級菜單C_4</a> <a href="javascript:void(0)">三級菜單C_5</a> <a href="javascript:void(0)">三級菜單C_6</a> <a href="javascript:void(0)">三級菜單C_7</a> <a href="javascript:void(0)">三級菜單C_8</a> <a href="javascript:void(0)">三級菜單C_9</a> </ul> </span> <h1 onClick="javascript:ShowMenu(this,3)"><a href="javascript:void(0)">+ 四級菜單D</a></h1> <span class="no"> <h2 onClick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 四級菜單D_1</a></h2> <ul class="no"> <a href="javascript:void(0)">四級菜單D_0</a> <a href="javascript:void(0)">四級菜單D_1</a> <a href="javascript:void(0)">四級菜單D_2</a> <a href="javascript:void(0)">四級菜單D_3</a> <a href="javascript:void(0)">四級菜單D_4</a> <a href="javascript:void(0)">四級菜單D_5</a> <a href="javascript:void(0)">四級菜單D_6</a> <a href="javascript:void(0)">四級菜單D_7</a> <a href="javascript:void(0)">四級菜單D_8</a> <a href="javascript:void(0)">四級菜單D_9</a> </ul> <h2 onClick="javascript:ShowMenu(this,1)"><a href="javascript:void(0)">+ 四級菜單D_2</a></h2> <ul class="no"> <a href="javascript:void(0)">四級菜單D_0</a> <a href="javascript:void(0)">四級菜單D_1</a> <a href="javascript:void(0)">四級菜單D_2</a> <a href="javascript:void(0)">四級菜單D_3</a> <a href="javascript:void(0)">四級菜單D_4</a> <a href="javascript:void(0)">四級菜單D_5</a> <a href="javascript:void(0)">四級菜單D_6</a> <a href="javascript:void(0)">四級菜單D_7</a> <a href="javascript:void(0)">四級菜單D_8</a> <a href="javascript:void(0)">四級菜單D_9</a> </ul> </span> </div> </body> </html>
希望本文所述對大家的javascript程序設計有所幫助。