用dtree实现树形菜单 dtree使用说明


Posted in Javascript onOctober 17, 2011

准备工作:
请从三水点靠木https://3water.com/jiaoben/31974.html下载dtree.zip文件
dtree.zip压缩包介绍:
dtree是一个由JavaScript编写成的简单的树形菜单组件,目前免费并且开源。
目前有很多的树形菜单组件(比如ext),dtree是一种简单易懂的js组件,
不需要复杂的操作即可生产,同时支持动态从数据库引入数据
解压后有以下几部分:
img文件夹: 包含树形菜单显示需要的图标
api.html : 作者写的dtree帮助文档


dtree.css: 树形菜单的样式
dtree.js : js核心文件,代码都在其中
example01.html:树形菜单实例 dtree主要方法介绍:
dtree主要方法介绍:
add(parameters):添加一个树节点,实际参数有9个add(id,pid,name,url,title,target,icon,iconOpen,open);
位置 参数别名 类型 功能
1 id int 节点自身的id(唯一)
2 pid int 节点的父节点id
3 name string 节点显示在页面上的名称
4 url string 节点的链接地址
5 title string 鼠标放在节点上显示的提示信息
6 target string 节点链接所打开的目标frame
7 icon string 节点关闭状态时显示的图标
8 iconOpen string 节点打开状态时显示的图标
9 open bool 节点第一次加载是否打开
注:dtree.js文件中是一些默认图片的路径,可以自己配置图片和路径,我下载的在44~57行
openAll()打开全部节点,可在树对象创建前或创建后调用
closeAll()关闭全部节点,可在树对象创建前或创建后调用
openTo(id,select)打开指定id的节点,可以传两个参数:
id 指定需要打开的节点的唯一id

select 是否让该节点处于选中状态
config配置
变量 类型 默认值 描述
target string 所有节点的target
folderLinks bool true 文件夹可被链接
useSelection bool true 节点可被选择高亮
useCookies bool true 树可以使用cookie记住状态
useLines bool true 创建带结构连接线的树
useIcons bool true 创建带有图表的树
useStatusText bool false 用节点名替代显示在状态栏的节点url
closeSameLevel bool false 同级节点只允许一个节点处于打开状态
inOrder bool false 加速父节点树的显示
例如:tree.config.closeSameLevel=true;表示打开某级节点时,该级其他处于打开状态的同级节点会被关闭
示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
<head> 
<title>Tree</title> 
<link rel="StyleSheet" href="dtree.css" type="text/css" /><!-- 引入css样式表 --> 
<script type="text/javascript" src="dtree.js"></script><!-- 引入js脚本 --> 
</head> 
<body> 
<div class="dtree"><!--创建一个div层,指定class为“dtree”,此时该层就引用了dtree的样式 --> 
<script type="text/javascript"> 
d = new dTree('d');//new一个树对象 
//设置树的节点及其相关属性 
d.add(0,-1,'My example tree'); 
d.add(1,0,'Node 1','example01.html'); 
d.add(2,0,'Node 2','example01.html'); 
d.add(3,1,'Node 1.1','example01.html'); 
d.add(4,0,'Node 3','example01.html'); 
d.add(5,3,'Node 1.1.1','example01.html'); 
d.add(6,5,'Node 1.1.1.1','example01.html'); 
d.add(7,0,'Node 4','example01.html'); 
d.add(8,1,'Node 1.2','example01.html'); 
d.add(9,0,'My Pictures','example01.html','Pictures I\'ve taken over the years','','','img/imgfolder.gif'); 
d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir'); 
d.add(11,9,'Mom\'s birthday','example01.html'); 
d.add(12,0,'Recycle Bin','example01.html','','','img/trash.gif'); 
//config配置,设置文件夹不能被链接,即有子节点的不能被链接。 
d.config.folderLinks=false; 
document.write(d); 
</script> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
Google 静态地图API实现代码
Nov 19 Javascript
js arguments对象应用介绍
Nov 28 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
Oct 16 Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 Javascript
JavaScript汉诺塔问题解决方法
Apr 21 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
Jun 18 Javascript
基于JavaScript实现动态添加删除表格的行
Feb 01 Javascript
详解angular element()方法使用
Apr 08 Javascript
React学习笔记之事件处理(二)
Jul 02 Javascript
node.js中grunt和gulp的区别详解
Jul 17 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
Jun 04 Javascript
vue在响应头response中获取自定义headers操作
Jul 24 Javascript
Js sort排序使用方法
Oct 17 #Javascript
jquery中ajax学习笔记4
Oct 16 #Javascript
jquery中ajax学习笔记3
Oct 16 #Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
Oct 16 #Javascript
jquery中ajax学习笔记一
Oct 16 #Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
Oct 16 #Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
Oct 14 #Javascript
You might like
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
jquery键盘事件介绍
2011/01/31 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
js禁止表单重复提交
2017/08/29 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
JavaScript获取某一天所在的星期
2019/09/05 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
在python image 中实现安装中文字体
2020/05/16 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
如何实现jdbc性能优化
2012/07/30 面试题
舞蹈教师自荐信
2014/01/27 职场文书
优秀体育委员自荐书
2014/01/31 职场文书
环保专项行动方案
2014/05/12 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
银行转正自我鉴定
2014/09/29 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
清明祭英烈活动总结
2015/05/11 职场文书