JS三級(jí)可折疊菜單實(shí)現(xiàn)方法
本文實(shí)例講述了JS三級(jí)可折疊菜單實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
.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>無標(biāo)題頁</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 對(duì)象你節(jié)點(diǎn)li 下包含的 所有ul集合 var itmUl; var deeps=strDeep; //strDeep 為當(dāng)前菜單的級(jí)數(shù) if(items.length>0){ itmUl=items[0]; alert(itmUl); } if(itmUl.className!="ex"){ cxAll();//當(dāng)前節(jié)點(diǎn)為關(guān)閉狀態(tài)時(shí),先執(zhí)行關(guān)閉所有ul子菜單 if(deeps=='2'){ //若要展開三級(jí)菜單當(dāng),還要將其二級(jí)父菜單展開 itmUl.parentNode.parentNode.className="ex"; } itmUl.className="ex"; //展開下級(jí)菜單 }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"; } }
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解搭建es6+devServer簡(jiǎn)單開發(fā)環(huán)境
這篇文章主要介紹了詳解搭建es6+devServer簡(jiǎn)單開發(fā)環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-0920行JS代碼實(shí)現(xiàn)粘貼板復(fù)制功能
本文給大家分析20行JS代碼實(shí)現(xiàn)粘貼板功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02詳解webpack打包時(shí)排除其中一個(gè)css、js文件或單獨(dú)打包一個(gè)css、js文件(兩種方法)
本文通過兩種方法給大家介紹了webpack打包時(shí)排除其中一個(gè)css、js文件,或單獨(dú)打包一個(gè)css、js文件的方法 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10Web網(wǎng)站都變成灰色有哪些方法可以快速實(shí)現(xiàn)(解決方案)
有些時(shí)候我們需要把網(wǎng)站頁面變成黑白色或灰色,特別是對(duì)于一些需要悼念的日子,以及一些影響力很大的偉人逝世或紀(jì)念日的時(shí)候,都會(huì)讓網(wǎng)站的全部網(wǎng)頁變成灰色(黑白色),以表示我們對(duì)逝者或者英雄的緬懷和悼念2022-12-12解決頁面整體使用transform scale后高德地圖點(diǎn)位點(diǎn)擊偏移錯(cuò)位問題
這篇文章主要介紹了解決頁面整體使用transform scale后高德地圖點(diǎn)位點(diǎn)擊偏移錯(cuò)位問題的方法,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-01-01