整合ztree的一些功能和demo演示

匿名 (未验证) 提交于 2019-12-02 22:56:40

ztree官网上有详细的API和演示demo,这里就不详细介绍了,只对用到的一些功能进行说明一下。

1、用到的几个js文件

jquery-1.4.4.min.js(jQuery的核心js)

jquery.ztree.core-3.5.js(ztree的核心js)

jquery.ztree.excheck-3.5.js(ztree的复选框功能js)

jquery.ztree.exedit-3.5.js(ztree的编辑功能js)

2、用的css文件

zTreeStyle.css(只有这一个css文件,控制ztree样式,当然可以在这个文件里扩展自己需要的样式)

3、用到的图片

zTree v3.x 将主要图标都合并为一个图片,利用图片切割方式显示图标

4、数据定义

use the simple data format({"id":1, "pId":0, "name":"test1"})

5、页面demo代码如下:

  
  1. <link rel="stylesheet" href="css/zTreeStyle.css" />

  2. <script type="text/javascript" src="js/jquery.ztree.core-3.5.js"></script>

  3. <script type="text/javascript" src="js/jquery.ztree.excheck-3.5.js"></script>

  4. <script type="text/javascript" src="js/jquery.ztree.exedit-3.5.js"></script>

  5. <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>

  6. <SCRIPT type="text/javascript">

  7. var dragId;var zTree_Menu;

  8. var setting = {

  9. view: {

  10. addHoverDom: addHoverDom,

  11. removeHoverDom: removeHoverDom,

  12. selectedMulti: false,

  13. showLine: false,

  14. selectedMulti: false,

  15. showIcon: false

  16. },

  17. edit: {

  18. enable: true,

  19. showRemoveBtn: setRemoveBtn,

  20. removeTitle:"删除分类",

  21. renameTitle:"编辑分类",

  22. drag: {

  23. prev: true,

  24. next: true,

  25. inner: false

  26. },

  27. editNameSelectAll: true

  28. },

  29. data: {

  30. simpleData: {

  31. enable: true

  32. }

  33. },

  34. callback: {

  35. beforeDrag: beforeDrag,

  36. beforeClick: beforeClick,

  37. beforeEditName: beforeEditName,

  38. beforeRemove: beforeRemove,

  39. beforeRename: beforeRename,

  40. onRemove: onRemove,

  41. onRename: onRename,

  42. beforeDrop: beforeDrop

  43. }

  44. };

  45. //采用简单数据模式 (Array)

  46. var zNodes =[

  47. { id:1, pId:0, name:"拖拽 1"},

  48. { id:11, pId:1, name:"拖拽 1-1"},

  49. { id:111, pId:11, name:"拖拽 1-1-1"},

  50. { id:12, pId:1, name:"拖拽 1-2"},

  51. { id:121, pId:12, name:"拖拽 1-2-1"},

  52. { id:122, pId:12, name:"拖拽 1-2-2"},

  53. { id:1221, pId:121, name:"拖拽 1-2-2-1"},

  54. { id:123, pId:12, name:"拖拽 1-2-3"},

  55. { id:1231, pId:123, name:"拖拽 1-2-3-1"},

  56. { id:1232, pId:123, name:"拖拽 1-2-3-2"},

  57. { id:1233, pId:123, name:"拖拽 1-2-3-3"},

  58. { id:2, pId:0, name:"拖拽 2"},

  59. { id:21, pId:2, name:"拖拽 2-1"},

  60. { id:22, pId:2, name:"拖拽 2-2"},

  61. { id:23, pId:2, name:"拖拽 2-3"},

  62. { id:3, pId:0, name:"拖拽 3"},

  63. { id:31, pId:3, name:"拖拽 3-1"},

  64. { id:32, pId:3, name:"拖拽 3-2"},

  65. { id:33, pId:3, name:"拖拽 3-3"}

  66. ];

  67. function beforeDrag(treeId, treeNodes) {//用于捕获节点被拖拽之前的事件回调函数

  68. return false;

  69. }

  70. function beforeEditName(treeId, treeNode) {//用于捕获节点编辑按钮的 click 事件,并且根据返回值确定是否允许进入名称编辑状态

  71. var zTree = $.fn.zTree.getZTreeObj("treeDemo");

  72. zTree.selectNode(treeNode);

  73. return true;

  74. }

  75. function beforeRemove(treeId, treeNode) {//用于捕获节点被删除之前的事件回调函数,并且根据返回值确定是否允许删除操作

  76. var zTree = $.fn.zTree.getZTreeObj("treeDemo");

  77. zTree.selectNode(treeNode);

  78. return confirm("确认删除 分类 -- " + treeNode.name + " 吗?");

  79. }

  80. function onRemove(e, treeId, treeNode) {//用于捕获删除节点之后的事件回调函数

  81. }

  82. function beforeRename(treeId, treeNode, newName) {//更新节点名称数据之前的事件回调函数,并且根据返回值确定是否允许更改名称的操作

  83. if (newName.length == 0) {

  84. alert("分类名称不能为空.");

  85. var zTree = $.fn.zTree.getZTreeObj("treeDemo");

  86. setTimeout(function(){zTree.editName(treeNode)}, 10);

  87. return false;

  88. }

  89. return true;

  90. }

  91. function onRename(e, treeId, treeNode) {//用于捕获节点编辑名称结束之后的事件回调函数

  92. }

  93. var newCount = 1;

  94. function addHoverDom(treeId, treeNode) {//用于当鼠标移动到节点上时,显示用户自定义控件

  95. var sObj = $("#" + treeNode.tId + "_span");

  96. if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;

  97. var addStr = "<span class='button add' id='addBtn_" + treeNode.tId

  98. + "' title='添加分类' onfocus='this.blur();'></span>";

  99. sObj.after(addStr);

  100. var btn = $("#addBtn_"+treeNode.tId);

  101. if (btn) btn.bind("click", function(){

  102. var zTree = $.fn.zTree.getZTreeObj("treeDemo");

  103. zTree.addNodes(treeNode, {id:(100 + newCount), pId:treeNode.id, name:"new node" + (newCount++)});

  104. return false;

  105. });

  106. }

  107. function setRemoveBtn(treeId, treeNode) {//父分类去掉删除功能

  108. return !treeNode.isParent;

  109. <span style="white-space:pre"> </span>}

  110. function removeHoverDom(treeId, treeNode) {

  111. $("#addBtn_"+treeNode.tId).unbind().remove();

  112. };

  113. function beforeDrag(treeId, treeNodes) {//拖拽时执行

  114. for (var i=0,l=treeNodes.length; i<l; i++) {

  115. dragId = treeNodes[i].pId;

  116. if (treeNodes[i].drag === false) {

  117. return false;

  118. }

  119. }

  120. return true;

  121. }

  122. function beforeDrop(treeId, treeNodes, targetNode, moveType) {//拖拽释放后执行

  123. if(targetNode.pId == dragId){

  124. return true;

  125. }else{

  126. return false;

  127. }

  128. }

  129. function selectAll() {

  130. var zTree = $.fn.zTree.getZTreeObj("treeDemo");

  131. zTree.setting.edit.editNameSelectAll = $("#selectAll").attr("checked");

  132. };

  133. $(document).ready(function(){

  134. $.fn.zTree.init($("#treeDemo"), setting, zNodes);//初始化ztree

  135. zTree_Menu = $.fn.zTree.getZTreeObj("treeDemo");

  136. $("#selectAll").bind("click", selectAll);

  137. });

  138. </SCRIPT>

  139. </head>

  140. <body>

  141. <div class="widget-box">

  142. <div class="widget-title"> <span class="icon"> <i class="icon-th"></i> </span>

  143. <h5>分类管理</h5>

  144. </div>

  145. <div class="widget-content tab-content" >

  146. <!--分类管理开始-->

  147. <div class="content_wrap" >

  148. <div class="zTreeDemoBackground ">

  149. <ul id="treeDemo" class="ztree"></ul>

  150. </div>

  151. </div>

  152. <!--分类管理结束-->

  153. </div>

  154. </div>

  155. </body>

  156. </html>

以上代码可以直接运行,不过需要下载相关js、css和图片,可以直接到ztree官网下载。

--------------------- 本文来自 黄爱岗 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/huangaigang6688/article/details/27237119?utm_source=copy

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!