本文實例講述了JS三級可折疊菜單實現方法。分享給大家供大家參考,具體如下:
.ASPX代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NavigateMenu.aspx.cs" Inherits="NavigateMenu" %><!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" ><head runat="server"> <title>無標題頁</title> <script type="text/javascript" src="JScript.js" ></script> <style type="text/css">*{ margin: 0px; padding: 0px; border:0px;}#nav{ width: 600px; margin: 0px; padding: 0px; font-size: 14px; line-height: 30px;}#nav li{ width: 180px; padding-left: 20px; padding-bottom: 1px; list-style-image: none; list-style-type: none; background-color: #FFFFFF;}#nav a{ padding-left: 20px; background-color: #BFBFBF; display: block; text-decoration: none;}#nav a:hover { background-color: #FF9175;}#nav li ul{ padding-top: 1px; list-style-image: none; list-style-type: none;}#nav li li{ padding-left: 0px;}#nav ul a{ background-color: #EBEBEB;}.cx { display:none; visibility:hidden;}.ex { display:inherit; visibility:inherit;}</style><script type="text/javascript" > window.onload=function(){ statUp(); }</script></head><body><form id="form1" runat="server"><div id="Parent"><ul id="nav"><li><a href="javascript:void(0);" onclick="doMenu(this,'1')">菜單1</a> <ul> <li><a href="javascript:void(0);">菜單1_1</a></li> <li><a href="javascript:void(0);">菜單1_2</a></li> </ul></li><li><a href="javascript:void(0);" onclick="doMenu(this,'1')">菜單2</a> <ul> <li><a href="javascript:void(0);" onclick="doMenu(this,'2')" >菜單2_1</a> <ul> <li>菜單2_1_1</li> <li>菜單2_1_2</li> </ul> </li> <li><a href="javascript:void(0);" onclick="doMenu(this,'2')">菜單2_2</a> <ul> <li>菜單2_2_1</li> </ul> </li> </ul></li></ul></div></form></body></html>
js文件代碼:
function doMenu(obj,strDeep){ var items=obj.parentNode.getElementsByTagName("ul"); //獲取a 對象你節點li 下包含的 所有ul集合 var itmUl; var deeps=strDeep; //strDeep 為當前菜單的級數 if(items.length>0){ itmUl=items[0]; alert(itmUl); } if(itmUl.className!="ex"){ cxAll();//當前節點為關閉狀態時,先執行關閉所有ul子菜單 if(deeps=='2'){ //若要展開三級菜單當,還要將其二級父菜單展開 itmUl.parentNode.parentNode.className="ex"; } itmUl.className="ex"; //展開下級菜單 }else{ itmUl.className="cx"; }}function statUp(){ cxAll(); var ulDom=document.getElementById("nav"); var items=ulDom.getElementsByTagName("ul");}function cxAll(){ var ulDom=document.getElementById("nav"); var items=ulDom.getElementsByTagName("ul"); for (var i=0;i<items.length;i++) { items[i].className="cx"; }}
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答