本文实例讲述了JS实现无限级网页折叠菜单(类似树形菜单)效果代码。分享给大家供大家参考。具体如下:
这是一款超不错的网页折叠菜单,采用JavaScript实现。折叠菜单是大家比较常见到的一种菜单形式,可广泛应用于管理系统、后台左侧、产品列表中,本折叠菜单有点树形菜单的味道,相信“无限级”会满足你的要求。
运行效果截图如下:
在线演示地址如下:
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 标签控制 隐藏或删除该行 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程序设计有所帮助。
本文向大家介绍JS+CSS实现的简单折叠展开多级菜单效果,包括了JS+CSS实现的简单折叠展开多级菜单效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS+CSS实现的可折叠展开多级菜单效果。分享给大家供大家参考。具体如下: 这是一款JS+CSS实现的多级折叠菜单,可折叠展开/合拢,没有引用任何的外部文件,也没有用到图片,虽然简单,而且还有些粗糙,但核心的东西已经展示给大家了,正在研究
本文向大家介绍vue实现树形菜单效果,包括了vue实现树形菜单效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了vue实现树形菜单效果展示的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍JS+CSS实现的竖向简洁折叠菜单效果代码,包括了JS+CSS实现的竖向简洁折叠菜单效果代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS+CSS实现的竖向简洁折叠菜单效果代码。分享给大家供大家参考,具体如下: 这是一款JS+CSS竖向简洁的折叠菜单,支持三级分类,红色垂直型,个人感觉非常棒,希望大家喜欢。 运行效果截图如下: 在线演示地址如下: http://demo
本文向大家介绍JS实现的竖向折叠菜单代码,包括了JS实现的竖向折叠菜单代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现的竖向折叠菜单代码。分享给大家供大家参考,具体如下: 先来看看运行效果截图: 在线演示地址如下: http://demo.jb51.net/js/2015/js-hxzd-menu-demo/ 具体代码如下: 希望本文所述对大家JavaScript程序设计有所帮
本文向大家介绍java实现构造无限层级树形菜单,包括了java实现构造无限层级树形菜单的使用技巧和注意事项,需要的朋友参考一下 这里来讲一下后台java如何构造多叉树,这样前台就可接收到数据递归构造树形菜单了。 我们来理一下如何实现构造多叉树的逻辑吧,其实整个问题概括起来就是 1、构造一个实体类,用来存储节点,所以我们构造的需要四个对象(id,pid,name,和chirenList) 2、构造菜
本文向大家介绍Vue.js组件tree实现无限级树形菜单,包括了Vue.js组件tree实现无限级树形菜单的使用技巧和注意事项,需要的朋友参考一下 分享一段用 <ul>和<li>标签实现tree的代码,可能写的不是很好,如果大家有更好的希望分享下。 代码看这里喽: html代码: js代码: 效果图: 本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。 关于vue.js组件的教程