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>無(wú)標(biāo)題頁(yè)</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'){ //若要展開(kāi)三級(jí)菜單當(dāng),還要將其二級(jí)父菜單展開(kāi)
itmUl.parentNode.parentNode.className="ex";
}
itmUl.className="ex"; //展開(kāi)下級(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)畫(huà)特效與技巧匯總》、《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)文章
JS小數(shù)運(yùn)算出現(xiàn)多為小數(shù)問(wèn)題的解決方法
這篇文章主要介紹了JS小數(shù)運(yùn)算出現(xiàn)多為小數(shù)問(wèn)題的解決方法,需要的朋友可以參考下2016-06-06
underscore之Collections_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
underscore為集合類(lèi)對(duì)象提供了一致的接口。集合類(lèi)是指Array和Object,暫不支持Map和Set。下面通過(guò)本文給大家分享underscore之Collections的相關(guān)知識(shí),需要的的朋友參考下吧2017-07-07
后端代碼規(guī)范避免數(shù)組下標(biāo)越界
這篇文章主要為大家介紹了后端開(kāi)發(fā)中的代碼如何規(guī)范避免數(shù)組下標(biāo)越界示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
javascript實(shí)現(xiàn)修改微信分享的標(biāo)題內(nèi)容等
這篇文章主要介紹了javascript實(shí)現(xiàn)修改微信分享的標(biāo)題內(nèi)容等,需要的朋友可以參考下2014-12-12
js實(shí)現(xiàn)關(guān)閉網(wǎng)頁(yè)出現(xiàn)是否離開(kāi)提示
本篇文章主要給大家?guī)?lái)一個(gè)JS實(shí)用功能,監(jiān)聽(tīng)瀏覽器在關(guān)閉的時(shí)候提示出是否要離開(kāi)的小功能,需要的朋友學(xué)習(xí)下吧。2017-12-12
原生js實(shí)現(xiàn)html手機(jī)端城市列表索引選擇城市
這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)html手機(jī)端城市列表索引選擇城市,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
Textbox控件注冊(cè)回車(chē)事件及觸發(fā)按鈕提交事件具體實(shí)現(xiàn)
Lyncplus客戶端中訪問(wèn)Web頁(yè)面時(shí)遇到了TextBox控件回車(chē)自動(dòng)完成按鈕的提交事件失效的情況,于是上網(wǎng)查找相關(guān)的介紹最終解決了這兩個(gè)問(wèn)題,感興趣的你可以參考下或許對(duì)你有所幫助2013-03-03
Avalonjs 實(shí)現(xiàn)簡(jiǎn)單購(gòu)物車(chē)功能(實(shí)例代碼)
avalon是國(guó)內(nèi)最強(qiáng)大的MVVM框架,最近小編在高購(gòu)物車(chē)的項(xiàng)目,我們是用avalon來(lái)實(shí)現(xiàn)一些模塊的,所以順其自然的用avalon來(lái)實(shí)現(xiàn)購(gòu)物車(chē)。接下來(lái)通過(guò)本文給大家分享Avalonjs 實(shí)現(xiàn)簡(jiǎn)單購(gòu)物車(chē)功能的實(shí)例代碼,需要的的朋友參考下2017-02-02
javascript dom追加內(nèi)容實(shí)現(xiàn)示例
javascript dom追加內(nèi)容的使用還是比較廣泛的,在本文將為大家介紹下具體的使用方法,感興趣的朋友可以參考下2013-09-09

