用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 相关文章推荐
关于编写性能高效的javascript事件的技术
Nov 28 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
JavaScript实现Base64编码转换
Apr 23 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
Sep 27 Javascript
js实现弹窗暗层效果
Jan 16 Javascript
js阻止移动端页面滚动的两种方法
Jan 25 Javascript
Angular 输入框实现自定义验证功能
Feb 19 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
vue父组件通过props如何向子组件传递方法详解
Aug 16 Javascript
详解webpack的proxyTable无效的解决方案
Jun 15 Javascript
javascript实现自由编辑图片代码详解
Jun 21 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&amp;MYSQL分页原理及实现
2007/01/02 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
javascript数组去掉重复
2011/05/12 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
JS功能代码集锦
2016/05/04 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
js实现随机8位验证码
2020/07/24 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
python实现批量修改文件名
2020/03/23 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
如何查找网页漏洞
2016/06/22 面试题
别名指示符是什么
2012/10/08 面试题
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
高中数学教学反思
2014/01/30 职场文书
院系推荐意见
2015/06/05 职场文书
三八妇女节致辞
2015/07/31 职场文书
Python一些基本的图像操作和处理总结
2021/06/23 Python