javascript下拉列表中顯示樹形菜單的實(shí)現(xiàn)方法
很簡(jiǎn)單的一個(gè)使用:點(diǎn)擊菜單,能夠顯示下面的或者不顯示。
1、主要目的:展現(xiàn)的是的一個(gè)菜單項(xiàng),然后點(diǎn)擊一下,隱藏,點(diǎn)一下,彈出下面的內(nèi)容
用到的是 overflow:hidden 和 overflow="visible"這兩個(gè)屬性 在點(diǎn)擊的function中,設(shè)置屬性應(yīng)該
node.style.overflow="visible";當(dāng)然設(shè)置tr的高度也是很重要的,要恰好讓其他的選項(xiàng)隱蔽
2、采用同樣的技術(shù),多加幾個(gè),但是就是傳參數(shù)比較麻煩,采用this傳參很常用
實(shí)現(xiàn)效果:
<!DOCTYPE html> <html> <head> <title>list.html</title> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <style type="text/css"> dl{ height:18px;/*優(yōu)先級(jí)問題,必須要寫*/ overflow:hidden; } dd{ margin:0px; padding:0px; } .close{ height:18px;/*優(yōu)先級(jí)問題,必須要寫*/ overflow:hidden; } .open{ height:80px; overflow:visible; background-color:#ff8000; } </style> <script type="text/javascript"> function click2(node1){ // alert("aa"+node.nodeName);// td var nodes=node1.parentNode; // alert(nodes.nodeName); // alert("aa"+nodes.className); //※※通過傳進(jìn)的對(duì)象 判斷采用哪種css模式 if(nodes.className=="open"){ nodes.className="close"; }else{ nodes.className="open"; } } </script> </head> <body> <!--層次列表--> <!--當(dāng)很多時(shí)候采用傳參就很麻煩,每個(gè)都需要去傳參 <dl> <dt onclick="click1(0)">菜單條1</dt> <dd>菜單1</dd> <dd>菜單2</dd> <dd>菜單3</dd> <dd>菜單4</dd> </dl> <dl> <dt onclick="click1(1)">菜單條2</dt> <dd>菜單11</dd> <dd>菜單22</dd> <dd>菜單33</dd> <dd>菜單44</dd> </dl> <dl> <dt onclick="click1(2)">菜單條3</dt> <dd>菜單12</dd> <dd>菜單23</dd> <dd>菜單34</dd> <dd>菜單45</dd> </dl> --> <br/> <br/> <hr/> <!--<dl class="close">先手動(dòng)采用css測(cè)試,可以然后采用編程使用--> <dl> <dt onclick="click2(this)">1菜單條1</dt> <dd>菜單1</dd> <dd>菜單2</dd> <dd>菜單3</dd> <dd>菜單4</dd> </dl> <dl> <dt onclick="click2(this)">2菜單條2</dt> <dd>菜單11</dd> <dd>菜單22</dd> <dd>菜單33</dd> <dd>菜單44</dd> </dl> <dl> <dt onclick="click2(this)">3菜單條3</dt> <dd>菜單12</dd> <dd>菜單23</dd> <dd>菜單34</dd> <dd>菜單45</dd> </dl> </body> </html>
點(diǎn)擊后:設(shè)置背景顏色(css設(shè)置)
如何利用javascript制作下拉列表中顯示樹形菜單,相信大家通過這篇文章應(yīng)該有了大概的思路,也相信大家制作的下拉列表中顯示樹形菜單效果比小編做的還精致。
相關(guān)文章
根據(jù)輸入郵箱號(hào)跳轉(zhuǎn)到相應(yīng)登錄地址的解決方法
本文分享了基于javascript實(shí)現(xiàn)的根據(jù)輸入郵箱號(hào)跳轉(zhuǎn)到相應(yīng)登錄地址的具體實(shí)例代碼,需要的朋友一起來看下吧2016-12-12在服務(wù)端(Page.Write)調(diào)用自定義的JS方法詳解
自從[javascript]自定義MessageBox一文發(fā)布以后,很多網(wǎng)友都來信詢問,如何在服務(wù)端調(diào)用ShowInfo方法,周末休息想了個(gè)折中的辦法來實(shí)現(xiàn)2013-08-08模仿JQuery.extend函數(shù)擴(kuò)展自己對(duì)象的js代碼
最近打算寫個(gè)自己的js工具集合,把自己平常經(jīng)常使用的方法很好的封裝起來,其中模仿了jq的結(jié)構(gòu)。2009-12-12javascript打印大全(打印頁面設(shè)置/打印預(yù)覽代碼)
打印頁面設(shè)置,打印頁面預(yù)覽在打印過程中經(jīng)常會(huì)遇到,網(wǎng)上搜集整理了一些實(shí)用的打印方法與大家分享,感興趣的朋友可以了解下哈2013-03-03javaScript函數(shù)中執(zhí)行C#代碼中的函數(shù)方法總結(jié)
這篇文章介紹了javaScript函數(shù)中執(zhí)行C#代碼中的函數(shù)方法總結(jié),有需要的朋友可以參考一下2013-08-08基于JavaScript實(shí)現(xiàn)輪播圖原理及示例
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)輪播圖原理及示例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02