用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 相关文章推荐
jquery 屏蔽一个区域内的所有元素,禁止输入
Oct 22 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
js检测网络是否具体连接功能的代码
May 23 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
jQuery网页版打砖块小游戏源码分享
Aug 20 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
jquery自动补齐功能插件flexselect用法示例
Aug 06 Javascript
Angular.js中$apply()和$digest()的深入理解
Oct 13 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
详解微信第三方小程序代开发
Jun 23 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
Nov 13 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 递归效率分析
2009/11/24 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
jquery实现每个数字上都带进度条的幻灯片
2013/02/20 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
python检测IP地址变化并触发事件
2018/12/26 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
利用python 下载bilibili视频
2020/11/13 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
函授毕业生的自我鉴定
2013/11/26 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
职工小家建设活动方案
2014/08/25 职场文书
民族精神月活动总结
2014/08/28 职场文书
2014年销售员工作总结
2014/12/01 职场文书
参观邀请函范文
2015/02/02 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
2022年四月新番
2022/03/15 日漫