JQuery/JS插件 zTree树,点击当前节点展开,其他节点关闭
好像没找到现成的,就自己写了一个demo。
效果如下:

代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<script src="../jquery-2.1.4.js"></script>
<link href="zTree_v3/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<script src="zTree_v3/js/jquery.ztree.core-3.5.js"></script> <script type="text/javascript"> //获取当前父节点 参数:等级
var getNodeByLevel = function (arr, level) {
for (var i = ; i < arr.length; i++) {
var item = arr[i];
if (item.level == level) {
return item;
}
}
return null;
}; //折叠节点 非当前父节点
var collapseNodes = function (allTwoNodes, twoNode) {
for (var i = ; i < allTwoNodes.length; i++) {
var item = allTwoNodes[i];
if ((twoNode != null) && (twoNode.id == item.id)) {
continue;
}
treeObj.expandNode(item, false, true, false);
}
} var zNodes = [
// 第一层
{ id: , pId: , name: "父节点1 - 展开", open: true }, // 第二层
{ id: , pId: , name: "父节点11 - 折叠", icon: "zTree_v3/css/zTreeStyle/img/diy/2.png", open: true },
// 第三层
{ id: , pId: , name: "叶子节点111", click: false, open: true },
{ id: , pId: , name: "叶子节点112", open: true },
// 第四层
{ id: , pId: , name: "三级1" },
{ id: , pId: , name: "三级2" },
{ id: , pId: , name: "三级3" }, // 第二层
{ id: , pId: , name: "父节点12", open: true },
// 第三层
{ id: , pId: , name: "叶子节点121" },
{ id: , pId: , name: "叶子节点122", open: true },
// 第四层
{ id: , pId: , name: "三级1" },
{ id: , pId: , name: "三级2" },
{ id: , pId: , name: "三级3" },
]; var setting = {
type: "expandAll",//全部展开
view: {
showLine: false,//不显示连接线
},
data: {
simpleData: {
enable: true
}
},
callback: { //回调函数
beforeClick: function (treeId, treeNode, clickFlag) { },
onClick: function (vent, treeId, treeNode, clickFlag) {
//console.log(treeNode);
//console.log(treeNode.getParentNode());
//console.log(treeNode.getIndex());
//console.log(treeNode.getPath());
var nodes = treeNode.getPath();
var twoNode = getNodeByLevel(nodes, );
var oneNode = getNodeByLevel(nodes, );
var allTwoNodes = oneNode.children;
collapseNodes(allTwoNodes, twoNode);
},
onCollapse: function (event, treeId, treeNode) {
//alert('onCollapse / 折叠');//折叠
},
onExpand: function (event, treeId, treeNode) {
//alert('onExpand / 展开');//展开
}
}
}; //树初始化
var treeObj = null;
$(document).ready(function () {
treeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
}); </script>
</head>
<body>
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<!-- ztree的容器 -->
<ul id="treeDemo" class="ztree"></ul>
</div>
</div>
</body>
</html>
JQuery/JS插件 zTree树,点击当前节点展开,其他节点关闭的更多相关文章
- js插件---Bootstrap 树控件
js插件---Bootstrap 树控件 一.总结 一句话总结:可以直接用gojs,或者搜索js,jquery的树控件,或者bootstrap树控件,一大堆 gojs 二.JS组件系列——Bootst ...
- js插件ztree使用
最新给公司后台写了一个配置页面,在网上搜到一个js插件ztree,记录一下使用心得. 首先说一下ztree官网,好多方法我都是从官网api上学习的,官网地址http://www.treejs.cn/v ...
- JQuery/JS插件 jsTree加载树,预先加载,初始化时加载前三级节点,当展开第三级节点时 就加载该节点下的所有子节点
jsTree加载树, 初始化时 加载前三级节点, 当展开第三级节点时 就加载该节点下的所有子节点 html: <!DOCTYPE html> <html> <head&g ...
- JQuery/JS插件 jsTree加载树,普通加载,点一级加载一级
前端: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...
- jQuery.TreeView插件实现树状导航(十三)
一:jQuery.TreeView插件简介 该插件的特点: 1.支持静态的树,即一次性将全部数据加载到客户端. 2.支持异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据. 3.支持节点级联 ...
- zTree怎么判断树有节点展开或者完全关闭的
树节点有个open属性,引用API: 记录 treeNode 节点的 展开 / 折叠 状态.1.初始化节点数据时,如果设定 treeNode.open = true,则会直接展开此节点2.叶子节点 t ...
- JQuery Tree插件——zTree
Demo:点击下载 zTree 在线操作演示:http://www.ztree.me/v3/demo.php#_101
- 一个功能丰富的 jQuery 树形插件 z-tree
链接 如果你的树 很复杂, 需要拖拽功能, 还可以考虑用这个 另外还有一个目前在用 Dynatree 如果一般的树, 还是自己写一个, 也很轻松, 如果有一两个复杂的点, 可以参考ZTree
- JQuery/JS插件 日期插件
用于日期的计算,功能比较全,我常用的主要是日期的计算(多一天少一天,或者添加几个月等),日期格式化 网址:http://momentjs.cn/ 测试代码: <!DOCTYPE html> ...
随机推荐
- 安全测试8_Web安全实战2(暴力破解)
1.暴力破解的概念 顾名思义,暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录.因为理论上来说,只要字典足够庞大,枚举总是能够成功的! 2.暴力破解的实战 在有了之 ...
- CSS3的过渡和转换
CSS3的过渡和转换 1.过渡 什么是过渡呢?过渡通俗的来说就是从一个样式到另一个样式的逐渐转换改变的效果. 过渡的属性: 属性 描述 css transition 简写属性,用于在一个属性中设置4个 ...
- Python笔记:Python中is和==的区别
==是比较两端的值 is是比较内存地址: 数据的内存地址可用id()获取 在Python中为了存储数据占用较小的内存,对于int类型和str类型内设了小数据池,其中的数据在被使用时,会使用同一内存地址 ...
- java 多线程(生产者消费者)
转 https://www.oschina.net/code/snippet_111708_25438 这个问题挺经典,我这个解法的本质在于将问题抽象为生产者消费者模型,但是是一个特殊的生产者消费者模 ...
- python 读取grib \grib2
一.环境准备(1).python3环境 (2).wgirb工具(用于读取grib1文件),下载地址: ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib (3).wgi ...
- 1.1使用java数组,并开始封装我们自己的数组
今天感冒了,全身酸软无力,啥样不想做,就来学习吧,此节我们从初步使用java中提供的数组,然后分析相关情况,过渡到封装我们自己的数组. 一.我们先来感受一下java提供的数组,以整型数组(int[]) ...
- Oracle exp/imp 导出/导入
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8 exp jjhd_test/11111111@a_syj file="d:\jjhd_test.dmp" ...
- 【3-28】JavaScript的DOM操作
一.定义:DOM是一种用于HTML和XML文档的编程接口. 二.Windows对象操作: (一)Window.open(URL,name,features,replace) 1.URL;页面地址 2. ...
- HTML5 Canvas 小例子 简易画板
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Swoole 结合TP5创建http服务
下载TP5框架,在项目根目录下创建server目录 http_service.php <?php //创建服务 $http = new swoole_http_server("0.0. ...