JS實(shí)現(xiàn)無限級網(wǎng)頁折疊菜單(類似樹形菜單)效果代碼
本文實(shí)例講述了JS實(shí)現(xiàn)無限級網(wǎng)頁折疊菜單(類似樹形菜單)效果代碼。分享給大家供大家參考。具體如下:
這是一款超不錯(cuò)的網(wǎng)頁折疊菜單,采用JavaScript實(shí)現(xiàn)。折疊菜單是大家比較常見到的一種菜單形式,可廣泛應(yīng)用于管理系統(tǒng)、后臺左側(cè)、產(chǎn)品列表中,本折疊菜單有點(diǎn)樹形菜單的味道,相信“無限級”會滿足你的要求。
運(yùn)行效果截圖如下:
在線演示地址如下:
http://demo.jb51.net/js/2015/js-unlimit-fade-in-out-tree-menu-codes/
具體代碼如下:
<html> <head> <title>無限級折疊菜單JS版</title> <style> <!-- body,ul,h3 {margin:0px; padding:0px;} li {list-style-type:none;} body{ font-size:12px; color:#333; font-family: Simsun; line-height:15px; } a{text-decoration:none;color:#004285;border:none;} a:hover{text-decoration:none;color:#C33;} #menu { width:260px; margin:50px auto; padding:10px; border:#EEE 1px solid; } #menu h3 { font-size:12px; } #menu ul { background:url("images/ul-bg.gif") repeat-y 5px 0px; overflow:hidden; } #menu ul li { padding:5px 0 2px 15px; background:url("images/tree-ul-li.gif") no-repeat 5px -32px; } #menu ul li ul {display:none;} #menu ul li em { cursor:pointer; display:inline-block; width:15px; float:left; height:15px; margin-left:-14px; background:url("images/tree-ul-li.gif") no-repeat -32px 2px; } #menu ul li em.off { background-position: -17px -18px; } #menu ul li#end { background-color:#FFF; } #menu ul.off { display:block; } --> </style> </head> <body> <div id="menu"> <h3>無限級折疊菜單JavaScript版</h3> <ul> <li><em></em><a href='javascript:void(0);'>菜單_1_1</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_2_1</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_3_1</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_3_2</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_2_2</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_3_1</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_3_2</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_1_2</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_2_1</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_3_1</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_3_2</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_2_2</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_3_1</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_3_2</a> <ul> <li><em></em><a href='javascript:void(0);'>菜單_4_1</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> <li id='end'><em></em><a href='javascript:void(0);'>菜單_4_2</a> <ul> <li><a href='javascript:void(0);'>菜單_5_1</a></li> <li id='end'><a href='javascript:void(0);'>菜單_5_2</a></li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </div> <script type="text/javascript"> (function(e){ for(var _obj=document.getElementById(e.id).getElementsByTagName(e.tag),i=-1,em;em=_obj[++i];){ em.onclick = function(){ //onmouseover var ul = this.nextSibling; if(!ul){return false;} ul = ul.nextSibling; if(!ul){return false;} if(e.tag != 'a'){ ul = ul.nextSibling; if(!ul){return false;} } //a 標(biāo)簽控制 隱藏或刪除該行 for(var _li=this.parentNode.parentNode.childNodes,n=-1,li;li=_li[++n];){ if(li.tagName=="LI"){ for(var _ul=li.childNodes,t=-1,$ul;$ul=_ul[++t];){ switch($ul.tagName){ case "UL": $ul.className = $ul!=ul?"" : ul.className?"":"off"; break; case "EM": $ul.className = $ul!=this?"" : this.className?"":"off"; break; } } } } } } })({id:'menu',tag:'em'}); </script> </body> </html>
希望本文所述對大家的JavaScript程序設(shè)計(jì)有所幫助。
- Angular.JS實(shí)現(xiàn)無限級的聯(lián)動菜單(使用demo)
- Vue.js組件tree實(shí)現(xiàn)無限級樹形菜單
- 實(shí)例詳解AngularJS實(shí)現(xiàn)無限級聯(lián)動菜單
- js實(shí)現(xiàn)無限級樹形導(dǎo)航列表效果代碼
- json+jQuery實(shí)現(xiàn)的無限級樹形菜單效果代碼
- javascript實(shí)現(xiàn)無限級select聯(lián)動菜單
- 基于jquery的無限級聯(lián)下拉框js插件
- js無限級折疊菜單精簡版
- 基于jsTree的無限級樹JSON數(shù)據(jù)的轉(zhuǎn)換代碼
- JS無限級導(dǎo)航菜單實(shí)現(xiàn)方法
相關(guān)文章
javascript 動態(tài)數(shù)據(jù)下的錨點(diǎn)錯(cuò)位問題解決方法
用 Javascript 實(shí)現(xiàn)錨點(diǎn)(Anchor)間平滑跳轉(zhuǎn)2008-12-12微信小程序?qū)崿F(xiàn)的canvas合成圖片功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)的canvas合成圖片功能,結(jié)合實(shí)例形式分析了微信小程序canvas合成圖片相關(guān)組件使用、操作步驟與注意事項(xiàng),需要的朋友可以參考下2019-05-05JavaScript DOMContentLoaded事件案例詳解
這篇文章主要介紹了JavaScript DOMContentLoaded事件案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09微信小程序購物車、父子組件傳值及calc的注意事項(xiàng)總結(jié)
這篇文章主要給大家介紹了關(guān)于微信小程序購物車、父子組件傳值及calc的注意事項(xiàng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11JS使用replace()方法和正則表達(dá)式進(jìn)行字符串的搜索與替換實(shí)例
這篇文章主要介紹了JS使用replace()方法和正則表達(dá)式進(jìn)行字符串的搜索與替換實(shí)例,需要的朋友可以參考下2014-04-04使用mini-define實(shí)現(xiàn)前端代碼的模塊化管理
這篇文章主要介紹了使用mini-define實(shí)現(xiàn)前端代碼的模塊化管理,十分不錯(cuò)的一篇文章,這里推薦給有需要的小伙伴。2014-12-12判斷某個(gè)字符在一個(gè)字符串中是否存在的js代碼
這篇文章主要介紹了判斷某個(gè)字符在一個(gè)字符串中是否存在的方法,需要的朋友可以參考下2014-02-02