用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 动态生成表格示例代码
Dec 24 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
Oct 17 Javascript
JavaScript基本语法讲解
Jun 03 Javascript
使用requestAnimationFrame实现js动画性能好
Aug 06 Javascript
JavaScript 数组- Array的方法总结(推荐)
Jul 21 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
vue.js单页面应用实例的简单实现
Apr 10 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
node.js实现http服务器与浏览器之间的内容缓存操作示例
Feb 11 Javascript
layui实现显示数据表格、搜索和修改功能示例
Jun 03 Javascript
vue3.0中setup使用(两种用法)
Dec 02 Vue.js
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函数代码
2010/04/22 PHP
PHP之数组学习
2011/05/29 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
护士的岗位职责
2013/12/04 职场文书
文明学生标兵事迹
2014/01/21 职场文书
委托书怎么写
2014/07/31 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
学校施工安全责任书
2015/01/29 职场文书
2016年寒假家长评语
2015/10/10 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
mysql全面解析json/数组
2022/07/07 MySQL