【转】Nestable可拖拽树

原文地址:https://blog.csdn.net/wangmj518/article/details/81746523

Nestable是基于Bootstrap的一个可拖拽的树结构表现插件。

下面粗略的介绍一下它的用法,只作为学习参考,如有不合适之处,请各位凑合看。

下图是我在现在系统中用到的Nestable,对系统模块排序。

1.首先是需要引入的文件

  • bootstrap.min.css Bootstrap的CSS文件
  • font-awesome.min.css 这个是Bootstrap的一个图标和字体的插件,Nestable应该用了它的一些图标,如果不引入这个文件有可能图标不能显示出来。
  • ace.min.css 这个一直不知道是什么,没来得及查阅资料,有知道的请告知一下
  • jquery-2.0.3.min.js 这个不解释
  • bootstrap.min.js 同上
  • jquery.nestable.min.js 这是就是今天介绍的主体

以上文件我会统一放在附件里面

2.下面是一个示例

HTML:

Html代码  

  1. <div class="dd">
  2. <ol class="dd-list">
  3. <li class="dd-item" data-id="1">
  4. <div class="dd-handle">Item 1</div>
  5. </li>
  6. <li class="dd-item" data-id="2">
  7. <div class="dd-handle">Item 2</div>
  8. </li>
  9. <li class="dd-item" data-id="3">
  10. <div class="dd-handle">Item 3</div>
  11. <ol class="dd-list">
  12. <li class="dd-item" data-id="4">
  13. <div class="dd-handle">Item 4</div>
  14. </li>
  15. <li class="dd-item" data-id="5">
  16. <div class="dd-handle">Item 5</div>
  17. </li>
  18. </ol>
  19. </li>
  20. </ol>
  21. </div>

在head标签内加入

Js代码  

  1. <script type="text/javascript">
  2. jQuery(function() {
  3. $(‘.dd‘).nestable();
  4. });
  5. </script>

3.事件Events

当重新排序后触发

Js代码  

  1. $(‘.dd‘).on(‘change‘, function() {
  2. /* on change event */
  3. });

4.方法Methods

将页面显示的树结构序列化

Js代码  

  1. $(‘.dd‘).nestable(‘serialize‘);

按开头的例子序列化返回的JSON数据应该是

Json代码  

  1. [{"id":1},{"id":2},{"id":3,"children":[{"id":4},{"id":5}]}]

Js代码  

  1. $(‘.dd‘).nestable(‘expandAll‘);//展开所有节点

Js代码  

  1. $(‘.dd‘).nestable(‘collapseAll‘);//折叠所有节点

5.配置Configuration

Js代码  

  1. $(‘.dd‘).nestable({ /* config options */ });

可配置项:

      • maxDepth 树节点层次(默认5)
      • group 允许在列表之间拖动的组ID(默认0)
      • listNodeName 创建树结构的的HTML标签(默认‘ol‘)
      • itemNodeName  创建树结构节点的HTML标签(默认‘li‘)
      • rootClass 根节点的class属性名称(默认‘dd‘)
      • listClass 所有节点的class属性名称(默认‘dd-list‘)
      • itemClass 树结构叶子节点class名称(默认‘dd-item‘)
      • dragClass
      • handleClass
      • collapsedClass
      • placeClass
      • emptyClass
      • expandBtnHTML
      • collapseBtnHTML

原文地址:https://www.cnblogs.com/fireicesion/p/11236891.html

时间: 2024-10-02 01:39:12

【转】Nestable可拖拽树的相关文章

如何构建逻辑清晰的可拖拽树的数据结构

在为知笔记上的每日计划已经有好几天没有写实际内容了,抓狂脸.时间真是过得超级快呀,这几天双十一,疯狂的看喜欢的东西和看快递.其实并不是为了双十一降价而买东西,而是近来本来就有买东西的打算,而且撞到了双十一前,那就干脆放购物车里好了,还有就是半年没见降价的零食也打折啦啦啦~~^_^.好喜欢双十一结束后淘宝的宣传片<再见双十一>,接下来的这个星期,就静静的等待幸福来敲门~ 言归正传,今天来分享一下关于如何构建数据结构使得页面逻辑更为清晰的思路. 事情的起因是这样的,boss安排我做一个列表拖拽页面

Jquery实现可拖拽的树菜单

效果图如下所示:下载地址http://download.csdn.net/detail/javaquentin/8290417 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&g

通过Ztree生成页面html元素Dom树,以及拖拽改变元素的位置

zTree 是一款依靠 jQuery 实现的多功能 "树插件",http://www.treejs.cn/v3/main.php#_zTreeInfo,功能强大,不多赘述. 下面我将介绍如何实现使用该插件生成HTML元素Dom树,并对其进行多样操作. 先贴上一个简单的HTML页面(直接拿的ztree的用的,画面简单实用,里面的文字内容不用在意) 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-e

MVC小系列(十五)【MVC+ZTree实现对树的CURD及拖拽操作】

根据上一讲的可以加载一棵大树,这讲讲下如果操作这颗大树 <link href="../../Scripts/JQuery-zTree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" /> <script src="../../Scripts/JQuery-zTree/js/jquery-1.4.4.min.js"></script> <script src=

100行代码解析Dojo树控件拖拽案例

案例设定: 创建2个树控件,左右排列. 使用拖动的方式,将树节点从左侧树控件拖拽的右侧树控件. 拖拽过程中右侧树控件要进行验证,确认是否可以方式拖拽中的节点. 放置的处理,识别要放置的节点,获取其信息并动态创建新的节点(基于基础类型进行实例化的过程). 右侧树控件内(实例化之后的节点),同类型节点间支持拖动排序. Dojo版本 1.10.3 图例1:创建2个树控件,左右排列. 图例2.3: 使用拖动的方式,将树节点从左侧树控件拖拽的右侧树控件. 拖拽过程中右侧树控件要进行验证,确认是否可以方式拖

前端的小玩意.删除.折叠.最大化.拖拽布局.树状菜单

以上是整体布局 添加Remove方法 Array.prototype.indexOf = function (val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; Array.prototype.remove = function (val) { var index = this.indexOf(val); if (index > -1) { this.splic

ztree-可拖拽可编辑的树

<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - addNodes / editName / removeNode / removeChildNodes</TITLE> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="s

HT for Web列表和3D拓扑组件的拖拽应用

很多可视化编辑器都或多或少有一些拖拽功能,比如从一个List列表中拖拽一个节点到拓扑组件上进行建模,并且在拖拽的过程中鼠标位置下会附带一个被拖拽节点的缩略图,那么今天我们就来实现这样的拖拽效果. 首先我们需要创建一个ListView列表,在列表中加入图片信息,让List列表不那么单调,先来看看效果图. 接下来我们一步一步来是想这个ListView列表,先来解决下数据,在这里我就列举一两个: var products = [ { ProductId : 1, ProductName : "Chai

win32 sdk树形控件的项拖拽实现

本课中,我们将学习如何使用树型视图控件.另外还要学习如何在树型视图中完成拖-拉动作,以及如何使用图象列表. 理论: 树型视图是一种特别的窗口,我们可以使用它一目了然地表示某种层次关系.譬如象在资源管理器中左边窗口中的就是树型视图.您可以调用CreateWindowEx来创建树型视图,传递一个类名""SysTreeView32"",或者您也可以把它放到一个对话框中去.不要忘了在您的代码中加入InitCommonControls函数. 树型视图有几种特有的风格.下面是几