Bootstrap树形菜单插件TreeView.js使用方法详解


Posted in Javascript onNovember 01, 2016

jQuery多级列表树插件基于Twitter Bootstrap,以简单和优雅的方式来显示一些继承树结构,如视图树、列表树等等。

实用Bootstrap树形菜单特效插件Bootstrap Tree View,非常不错的Bootstrap插件,现在很多Bootstrap制作的页面都需要此功能,此插件需要Bootstrap3版本以及jQuery 2.0极以上版本支持,支持众多参数自定义功能,颜色、背景色、图标、链接等,还是很不错的。

效果图:

Bootstrap树形菜单插件TreeView.js使用方法详解

具体使用方法:

插件依赖

Bootstrap v3.0.3
jQuery v2.0.3

以上两个外部依赖文件已经经过测试可以正常使用,其他版本的Bootstrap需要另行测试。该插件不支持bootstrap 2。

使用方法

首先要在页面中引入依赖文件和 bootstrap-treeview.js文件。

<!-- Required Stylesheets -->
<link href="./css/bootstrap.css" rel="stylesheet">
 
<!-- Required Javascript -->
<script src="./js/jquery.js"></script>
<script src="./js/bootstrap-treeview.js"></script>

HTML结构

可以使用任何HTML DOM元素来作为该列表树的容器:
<div id="tree"></div>                   

调用插件

该列表树插件最基本的调用方法如下:

function getTree() {
 // Some logic to retrieve, or generate tree structure
 return data;
}
 
$('#tree').treeview({data: getTree()});

数据结构

为了创建树的继承结构,需要为该列表树插件提供一个嵌套结构的js对象。例如:

var tree = [
 {
 text: "Parent 1",
 nodes: [
  {
  text: "Child 1",
  nodes: [
   {
   text: "Grandchild 1"
   },
   {
   text: "Grandchild 2"
   }
  ]
  },
  {
  text: "Child 2"
  }
 ]
 },
 {
 text: "Parent 2"
 },
 {
 text: "Parent 3"
 },
 {
 text: "Parent 4"
 },
 {
 text: "Parent 5"
 }
];

最简单的树结构可以只有一个节点,使用一个带text属性的js对象来实现即可:

{
 text: "Node 1"
}

如果你需要自定义更多的内容,可以参考下面:

{
 text: "Node 1",
 icon: "glyphicon glyphicon-stop",
 selectedIcon: "glyphicon glyphicon-stop",
 color: "#000000",
 backColor: "#FFFFFF",
 href: "#node-1",
 selectable: true,
 state: {
 checked: true,
 disabled: true,
 expanded: true,
 selected: true
 },
 tags: ['available'],
 nodes: [
 {},
 ...
 ]
}

全局参数

参数可以定制treeview的默认外观和行为。参数使用一个对象来在插件初始化时传入:

// Example: initializing the treeview
// expanded to 5 levels
// with a background color of green
$('#tree').treeview({
 data: data,   // data is not optional
 levels: 5,
 backColor: 'green'
});

可用方法

你可以通过两种方式来调用方法:
1、插件包装器:插件的包装器可以作为访问底层方法的代理。
$('#tree').treeview('methodName', args) 
多个参数必须使用数组对象来传入。

2、直接使用treeview:你可以通过下面两种方法中的一种来获取treeview对象实例。

//该方法返回一个treeview的对象实例
$('#tree').treeview(true)
 .methodName(args);
 
//对象实例也保存在DOM元素的data中,
//可以使用'treeview'的id来访问它。
$('#tree').data('treeview')
 .methodName(args);

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程 Bootstrap插件使用教程

源码下载:http://xiazai.3water.com/201611/yuanma/bootstraptreeview(3water.com).rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery getJSON 处理json数据的代码
Jul 26 Javascript
js四舍五入数学函数round使用实例
May 09 Javascript
JavaScript检测并限制复选框选中个数的方法
Aug 12 Javascript
JavaScript多图片上传案例
Sep 28 Javascript
JavaScript中数组添加值和访问值常见问题
Feb 06 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 Javascript
关于使用js算总价的问题
Jun 23 Javascript
在 React、Vue项目中使用SVG的方法
Feb 09 Javascript
vue click.stop阻止点击事件继续传播的方法
Sep 04 Javascript
vue-router 路由传参用法实例分析
Mar 06 Javascript
JavaScript前端面试扁平数据转tree与tree数据扁平化
Jun 14 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
Nov 01 #Javascript
AngularJS入门教程之数据绑定用法示例
Nov 01 #Javascript
jQuery动态生成Bootstrap表格
Nov 01 #Javascript
AngularJs入门教程之环境搭建+创建应用示例
Nov 01 #Javascript
jQuery双向列表选择器select版
Nov 01 #Javascript
jQuery双向列表选择器DIV模拟版
Nov 01 #Javascript
JS button按钮实现submit按钮提交效果
Nov 01 #Javascript
You might like
3
2006/10/09 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
JQuery 学习笔记 选择器之四
2009/07/23 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
js读取cookie方法总结
2014/10/31 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
Python2.x与Python3.x的区别
2016/01/14 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
python距离测量的方法
2018/03/06 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python opencv实现运动检测
2018/07/10 Python
python实现静态web服务器
2019/09/03 Python
python中Django文件上传方法详解
2020/08/05 Python
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
法院四风对照检查材料思想汇报
2014/10/06 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL