国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JavaScript+CSS實現的可折疊二級菜單實例

2024-05-06 16:29:25
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript+CSS實現的可折疊二級菜單,以完整實例形式分析了JavaScript基于頁面元素節點及樣式的動態操作實現折疊菜單的相關技巧,需要的朋友可以參考下
 

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

.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: 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"; }}

在這里需要注意的是延遲加載的問題,由于頁面加載時需要執行預處理操作statUp()方法,js單獨寫成一個文件或 js寫在<head>節點中時,需要使用window.onload=function(){執行語句;} 延遲加載,不然引用DOM中對象時,會出現缺少對象 錯誤提示。

別一種解決方法,直接將所有javaScript 寫在</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>


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安化县| 花莲市| 峡江县| 宜春市| 英吉沙县| 海城市| 桑植县| 平利县| 灵寿县| 乌拉特中旗| 铜鼓县| 全南县| 甘孜县| 庆云县| 云龙县| 来宾市| 青冈县| 和田县| 荣成市| 新宾| 大庆市| 清涧县| 闽侯县| 自贡市| 班戈县| 和硕县| 浮山县| 额济纳旗| 闸北区| 铁岭县| 水富县| 桂东县| 克东县| 柳州市| 宜黄县| 新蔡县| 来宾市| 郑州市| 蕲春县| 滁州市| 安远县|