最近在做前端开发项目中,需要用到树形结构。在网上查阅到了许多相应资源。其中觉得lightTreeview是一款非常不错的JQ树形分类菜单代码,结构简单,支持多级。还有详细的参数可以配置,以实现各种效果。

结构代码示例:

<script>
$(function(){
$('#tree').lightTreeview({
collapse: true,
line: true,
nodeEvent: true,
unique: false,
fileico: true,
folderico: true,
animate: 400
});
})
</script>
<ul id="tree">
<li><a href="#">JS代码</a>
<ul>
<li><a href="#">JS焦点图</a></li>
<li><a href="#">JS导航菜单</a></li>
<li><a href="#">章节三</a></li>
<li><a href="#">章节四</a></li>
<li><a href="#">章节测试</a></li>
</ul>
</li>
<li><a href="#">给排水</a>
<ul>
<li><a href="#">章节一</a></li>
<li><a href="#">章节二</a></li>
<li><a href="#">章节三</a></li>
<li><a href="#">章节四</a></li>
<li><a href="#">章节测试</a></li>
</ul>
</li>
<li><a href="#">环评</a>
<ul>
<li><a href="#">章节一</a></li>
<li><a href="#">章节二</a></li>
<li><a href="#">章节三</a></li>
<li><a href="#">章节四</a></li>
<li><a href="#">章节测试</a></li>
</ul>
</li>
</ul>

JS参数解释:

 $('#demo3').lightTreeview({  //指定需要转化成treeview的ul或ol
collapse: true, //是否允许收缩或展开树型菜单。默认为true
line: true, //是否始用连接线。默认为true。你也可以直接对根节点加入类“treeview-noline”来实现同样的效果
nodeEvent: true, //是否将节点标题的点击也绑定菜单收缩展开的事件。默认为true
unique: false, //同级节点是否互斥。默认为false
animate: 200, //动画效果。0为无效果。默认为200
style: 'red', //菜单风格。目前有默认,灰色,红色,黑色,fam 共5种风格,风格可以通过添加CSS来增加。你也可以直接对根节点加入类“treeview-风格名称”来实现同样的效果
fileico: false, //是否显示文件的图标。默认为false。你也可以对节点的DOM加入类“treeview-file”来实现同样的效果
folderico: false //是否显示节点文件夹的图标。默认为false。你也可以对节点的DOM加入类“treeview-folder”来实现同样的效果});
//开启指定的菜单,第一个参数为指定菜单的选择器,第二个参数为动画效果$.lightTreeview.open('#demo3 ul',200);//关闭指定的菜单,第一个参数为指定菜单的选择器,第二个参数为动画效果$.lightTreeview.close('#demo3 ul',200);//切换指定的菜单的样式(关闭变打开,打开变关闭),第一个参数为指定菜单的选择器,第二个参数为动画效果$.lightTreeview.toggle('#demo3 ul',200);

具体效果以及更详情的说明请看演示地址,以及以下:

Demo1  默认的样式

$('#demo1').lightTreeview();

Demo2

通过style值换风格,该值对应css里“treeview-xxx”中的xxx,您可以自己在CSS中建立新的风格。同时您可以直接对列表的根节点上加上一个class,值为treeview-red。

同级节点互斥。事件只响应在“+”或“-”上。

 $('#demo2').lightTreeview({
collapse: true,
line: true,
nodeEvent: false,
unique: true,
style: 'red',
animate: 0
});

Demo3

您可以直接在列表里把需要隐藏的列表设为隐藏。

 $('#demo3').lightTreeview({
collapse: true,
line: true,
nodeEvent: true,
unique: true,
animate: 400
});

Demo4

通过Plugin提供的$.lightTreeview.open(selector);$.lightTreeview.close(selector);$.lightTreeview.toggle(selector);三个函数,你可以自己收缩或展开需要的节点。

 <p class="description">通过Plugin提供的$.lightTreeview.open(selector);$.lightTreeview.close(selector);$.lightTreeview.toggle(selector);三个函数,您可以自己收缩或展开需要的节点</p>

 <span class="btn" onclick="$.lightTreeview.open('#demo4 ol,#demo4 ul')">展开全部</span> |
<span class="btn" onclick="$.lightTreeview.close('#demo4 ol,#demo4 ul')">收缩全部</span> |
<span class="btn" onclick="$.lightTreeview.toggle('#demo4 ol,#demo4 ul')">切换全部</span> |
<span class="btn" onclick="$.lightTreeview.toggle('#demo4 ul:last')">切换广东节点</span>

注:

1.其中需要的插件有:

 <link rel="stylesheet" href="css/jquery.lightTreeview.css">

 <script src="js/jquery-2.1.4.min.js"></script>

 <script src="js/jquery.lightTreeview.pack.js"></script>

2.需要的函数和样式:

 <script type="text/javascript">
$(function() {
$('#demo1').lightTreeview();
$('#demo2').lightTreeview({
collapse: true,
line: true,
nodeEvent: false,
unique: true,
style: 'red',
animate: 0
});
$('#demo3').lightTreeview({
collapse: true,
line: true,
nodeEvent: true,
unique: true,
style: 'black',
animate: 400
});
$('#demo4').lightTreeview({
collapse: true,
line: true,
nodeEvent: true,
unique: false,
style: 'gray',
animate: 100,
fileico: true,
folderico: true
});
});
</script>
 <style type="text/css">
body {
font-size: 12px;
font-family: "宋体";
}
pre {
font-family: Courier New;
font-size: 14px;
border:#CCCCCC 1px solid;
padding:3px;
background-color: #E0FBFA;
}
p {
line-height: 150%;
margin:;
}
.btn {
cursor: pointer;
color: #0066FF;
}
.exp {
font-family: "Courier New","宋体";
font-size: 12px;
color: gray;
}
</style>

3.需要注意的是:

background: url(image/treeview-default.gif) 0 -111px no-repeat; 会报错,

正确的书写方式是:background: url(../image/treeview-default.gif) 0 -111px no-repeat;

原因:

../image/123.jpg 表示站点根目录下的image文件夹的下123.jpg

image/123.jpg 表示和当前页面目一个目录下的image文件夹下的123.jpg

 

(文章参考来源:http://www.16css.com)

jQuery:用 lightTreeview 实现树形分类菜单的功能 展开收缩分类代码的更多相关文章

  1. jQuery+zTree加载树形结构菜单

    jQuery+zTree加载树形结构菜单 由于项目中需要设计树形菜单功能,经过一番捣腾之后,终于给弄出来了,所以便记下来,也算是学习zTree的一个总结吧. zTree的介绍: 1.zTree 是利用 ...

  2. ECSHOP分类页面筛选功能(按分类下子分类和品牌筛选)

    其实分类页面里面本来就有相关的品牌.属性.分类的筛选功能在category.php和模板加上相应的功能即可 1.读出当前分类的所有下级分类 $chlidren_category = $GLOBALS[ ...

  3. iOS开发笔记13:顶部标签式导航栏及下拉分类菜单

    当内容及分类较多时,往往采用顶部标签式导航栏,例如网易新闻客户端的顶部分类导航,最近刚好有这样的应用场景,参考网络上一些demo,实现了这种导航效果,记录一些要点. 效果图(由于视频转GIF掉帧,滑动 ...

  4. bootstrap table 父子表实现【无限级】菜单管理功能

    bootstrap table 父子表实现[无限级]菜单管理功能 实现效果 前端代码 <%@ page language="java" import="java.u ...

  5. 5JS树形结构菜单和jQuery版

    第一版JS版HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  6. JQuery实现动态生成树形菜单

    jQuery实现动态生成树形菜单 有一个需求:菜单导航条需要依据不同的权限动态提取出来.计划是将功能模块与用户权限之间的关系保持到一个配置表中.所以功能菜单的话就需要动态提取出来再显示.借助jquer ...

  7. 在ASP.NET MVC下实现树形导航菜单

    在需要处理很多分类以及导航的时候,树形导航菜单就比较适合.例如在汽车之家上: 页面主要分两部分,左边是导航菜单,右边显示对应的内容.现在,我们就在ASP.NET MVC 4 下临摹一个,如下: 实现的 ...

  8. 第二百二十八节,jQuery EasyUI,TreeGrid(树形表格)组件

    jQuery EasyUI,TreeGrid(树形表格)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 TreeGrid(树形表格)组件的使 ...

  9. 云南农职《JavaScript交互式网页设计》 综合机试试卷⑤——简单分类菜单

    一.语言和环境 实现语言:HTML,CSS,JavaScript,JQuery. 开发环境:HBuilder. 二.题目(100分): 1.使用Jquery和JavaScript实现二级分类菜单管理 ...

随机推荐

  1. MiniGUI ial 移植指南

    MiniGUI ial 移植指南 2.1 ial的定义 ial是一个通用的抽象输入接口,可以输入统一的数据的结构,也就是说在MiniGUI的核心代码里输入的数据的格式是固定的,不管输入设备是鼠标 还是 ...

  2. 进程操作篇atexit execl exit fprintf fscanf getpid nice get priority printf setpid system vfork wait waitpid

    atexit(设置程序正常结束前调用的函数) 相关函数 _exit,exit,on_exit 表头文件 #include<stdlib.h> 定义函数 int atexit (void ( ...

  3. C语言union关键字,union和struct区别

    union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间 ...

  4. Informatica 常用组件Lookup之二 已连接和未连接的查找

    可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :L ...

  5. Eclipse 中java跨工程调用类

    在Eclipse中,有时候需要跨工程调用其他工程中的方法.如下面有两个Java Project : 如果要在A工程中调用B工程中的类,可以将B工程添加到A工程中: A---- >Build Pa ...

  6. HttpClient 学习整理

    HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴.在网上整理了一些东西,写得很好,寄放在这里 ...

  7. JDBC上关于数据库中多表操作一对多关系和多对多关系的实现方法

    黑马程序员 我们知道,在设计一个Javabean的时候,要把这些BEAN 的数据存放在数据库中的表结构,然而这些数据库中的表直接又有些特殊的关系,例如员工与部门直接有一对多的关系,学生与老师直接又多对 ...

  8. SQL锁(转)

    说 明    Chaos 无法改写隔离级别更高的事务中的挂起的更改.   ReadCommitted 在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复的读取或幻 ...

  9. iframe之onload事件小记

    项目上做了一个具有wizard(向导)功能的菜单导航页面,子页面的引入通过主页面上iframe的src属性切换实现.为了有个良好的交互体验,每次更新iframe的src时,主页面上都显示一个模态的lo ...

  10. matlab中help所有函数功能的英文翻译

    doc funname 在帮助浏览器中打开帮助文档 help funname 在命令窗口打开帮助文档 helpbrowser 直接打开帮助浏览器 lookfor funname 搜索某个关键字相关函数 ...