经常有这个需求,用用到树形菜单做展示或者选择,基于jquery的一个控件zTree非常简单好用,这里做一下记录。
官网介绍,zTree 是一个依靠 jQuery 实现的多功能“树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。
官网地址:http://www.treejs.cn/v3/main.php
下载
直接去github下载源码:https://github.com/zTree/zTree_v3
选取了一个最基本的例子,带metro风格的,比较好看。
https://github.com/zTree/zTree_v3/blob/master/demo/cn/super/metro.html
提取最核心的东东
1 |
|
记住引入metroStyle.css
,还有metro的图片文件夹也引入,另外自己还自定义了一些样式:1
2
3
4
5
6
7
8
9
10
11
12
13
14.ztree li.title {list-style: none;}
.ztree ul.ztree {margin-top: 10px;border: 1px solid #617775;background: #f0f6e4;width:220px;height:360px;overflow-y:scroll;overflow-x:auto;}
.ztree ul.log {border: 1px solid #617775;background: #f0f6e4;width:300px;height:170px;overflow: hidden;}
.ztree ul.log.small {height:45px;}
.ztree ul.log li {color: #666666;list-style: none;padding-left: 10px;}
.ztree ul.log li.dark {background-color: #E3E3E3;}
ul.ztree li a {text-decoration: none; cursor: default;}
ul.ztree li a:hover {text-decoration: none; cursor: default;}
ul.ztree li a:active {text-decoration: none; cursor: default;}
ul.ztree li a:visited {text-decoration: none; color: #333; background-color: #fff}
ul.ztree li a.curSelectedNode { color: #333; opacity: 1; background-color: #fff;}
ul.ztree li span {cursor: default;}
ul.ztree li span.button.chk {cursor: default;}
ul.ztree li span.button {cursor: default}
API
zTree的API介绍也很详细,http://www.treejs.cn/v3/api.php
这里我弄两个最典型的来讲,一个是获取所有的选择节点,另一个是将所有选择的叶子节点id拿出来。
1 | // 通过id号来获取这个树 |
使用很简单,如果有其他需求直接去参考官网API文档即可。
最后来张效果图: