欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript+CSS實(shí)現(xiàn)的可折疊二級(jí)菜單實(shí)例

 更新時(shí)間:2016年02月29日 10:58:33   作者:Robin99  
這篇文章主要介紹了JavaScript+CSS實(shí)現(xiàn)的可折疊二級(jí)菜單,以完整實(shí)例形式分析了JavaScript基于頁(yè)面元素節(jié)點(diǎn)及樣式的動(dòng)態(tài)操作實(shí)現(xiàn)折疊菜單的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript+CSS實(shí)現(xiàn)的可折疊二級(jí)菜單。分享給大家供大家參考,具體如下:

.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: 200px;
 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;
 float: left;
}
#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</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)">菜單2</a>
 <ul>
 <li><a href="javascript:void(0);">菜單2_1</a></li>
 <li><a href="javascript:void(0);">菜單2_2</a></li>
 </ul>
</li>
<li><a href="javascript:void(0);" onclick="doMenu(this)">菜單3</a>
 <ul>
 <li><a href="javascript:void(0);">菜單3_1</a></li>
 <li><a href="javascript:void(0);">菜單3_2</a></li>
 </ul>
</li>
</ul>
</div>
</form>
</body>
</html>

js文件:

function doMenu(obj){
 var items=obj.parentNode.getElementsByTagName("ul");
 var itmUl;
 if(items.length>0){
 itmUl=items[0];
 }
 if(itmUl.className!="ex"){
 cxAll();
 itmUl.className="ex";
 }else{
 itmUl.className="cx";
 }
}
function statUp(){
 cxAll();
}
function cxAll(){
 var ulDom=document.getElementById("nav");
 var items=ulDom.getElementsByTagName("ul");
 for (var i=0;i<items.length;i++)
 {
 items[i].className="cx";
 }
}

在這里需要注意的是延遲加載的問(wèn)題,由于頁(yè)面加載時(shí)需要執(zhí)行預(yù)處理操作statUp()方法,js單獨(dú)寫(xiě)成一個(gè)文件或 js寫(xiě)在<head>節(jié)點(diǎn)中時(shí),需要使用window.onload=function(){執(zhí)行語(yǔ)句;} 延遲加載,不然引用DOM中對(duì)象時(shí),會(huì)出現(xiàn)缺少對(duì)象 錯(cuò)誤提示。

別一種解決方法,直接將所有javaScript 寫(xiě)在</html>

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>菜單</title>
<script type="text/javascript" src="Untitled-3.js"></script>
<style>
*{
 margin: 0px;
 padding: 0px;
 border:0px;
}
#nav{
 width: 200px;
 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;
 float: left;
}
#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>
</head>
<body>
<div id="Parent">
<ul id="nav">
<li><a href="javascript:void(0);" onclick="doMenu(this)">菜單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)">菜單2</a>
 <ul>
 <li><a href="javascript:void(0);">菜單2_1</a></li>
 <li><a href="javascript:void(0);">菜單2_2</a></li>
 </ul>
</li>
<li><a href="javascript:void(0);" onclick="doMenu(this)">菜單3</a>
 <ul>
 <li><a href="javascript:void(0);">菜單3_1</a></li>
 <li><a href="javascript:void(0);">菜單3_2</a></li>
 </ul>
</li>
</ul>
</div>
</body>
</html>
<script type="text/javascript">
function doMenu(obj){
 var items=obj.parentNode.getElementsByTagName("ul");
 var itmUl;
 if(items.length>0){
 itmUl=items[0];
 }
 if(itmUl.className!="ex"){
 cxAll();
 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";
 }
 }
statUp();
</script>

更多關(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)文章

  • JavaScript判斷按鈕被點(diǎn)擊的方法

    JavaScript判斷按鈕被點(diǎn)擊的方法

    javascript代碼判斷按鈕是否被點(diǎn)擊了在項(xiàng)目中經(jīng)常會(huì)遇到這個(gè)需求,今天小編抽點(diǎn)時(shí)間給大家分享一段代碼關(guān)于javascript判斷按鈕是否被點(diǎn)擊的方法,感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • bootstrap select2插件用ajax來(lái)獲取和顯示數(shù)據(jù)的實(shí)例

    bootstrap select2插件用ajax來(lái)獲取和顯示數(shù)據(jù)的實(shí)例

    今天小編就為大家分享一篇bootstrap select2插件用ajax來(lái)獲取和顯示數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • JavaScript 下載svg圖片為png格式

    JavaScript 下載svg圖片為png格式

    這篇文章主要介紹了JavaScript 下載svg圖片為png格式,本文通過(guò)代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • JS中的phototype詳解

    JS中的phototype詳解

    本文主要介紹了JS中phototype的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • JS document form表單元素操作完整示例

    JS document form表單元素操作完整示例

    這篇文章主要介紹了JS document form表單元素操作,結(jié)合完整實(shí)例形式詳細(xì)分析了JavaScript form表單元素獲取、輸出、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • js如何取消事件冒泡

    js如何取消事件冒泡

    事件冒泡是什么意思這里就不為大家一一贅述了,下面為大家講解的是js中如何取消事件冒泡,感興趣的朋友可以參考下
    2013-09-09
  • 通過(guò)JS運(yùn)行機(jī)制的角度說(shuō)說(shuō)作用域

    通過(guò)JS運(yùn)行機(jī)制的角度說(shuō)說(shuō)作用域

    這篇文章主要給大家介紹了如何通過(guò)JS運(yùn)行機(jī)制的角度說(shuō)說(shuō)作用域的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用JS作用域具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • JavaScript中利用構(gòu)造器函數(shù)模擬類的方法

    JavaScript中利用構(gòu)造器函數(shù)模擬類的方法

    JavaScript中沒(méi)有類的概念,所以其在對(duì)象創(chuàng)建方面與面向?qū)ο笳Z(yǔ)言有所不同。這篇文章主要介紹了JavaScript中利用構(gòu)造器函數(shù)模擬類的方法,文中給出了詳細(xì)的示例代碼和介紹,需要的朋友可以參考下,下面一起看看吧。
    2017-02-02
  • 基于JavaScript實(shí)現(xiàn)多級(jí)菜單效果

    基于JavaScript實(shí)現(xiàn)多級(jí)菜單效果

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)多級(jí)菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 詳解JavaScript 浮點(diǎn)數(shù)運(yùn)算的精度問(wèn)題

    詳解JavaScript 浮點(diǎn)數(shù)運(yùn)算的精度問(wèn)題

    這篇文章主要介紹了詳解JavaScript 浮點(diǎn)數(shù)運(yùn)算的精度問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論