用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 相关文章推荐
csdn 博客的css样式 v3
Feb 24 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
jQuery使用post方法提交数据实例
Mar 25 Javascript
JS实现的另类手风琴效果网页内容切换代码
Sep 08 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
Dec 08 Javascript
Javascript实现base64的加密解密方法示例
Jun 27 Javascript
vue通过路由实现页面刷新的方法
Jan 25 Javascript
JavaScript中callee和caller的区别与用法实例分析
Jun 28 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
vue3.0自定义指令(drectives)知识点总结
Dec 27 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
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
jquery使用经验小结
2015/05/20 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
python异常和文件处理机制详解
2016/07/19 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
旅游管理专业生自荐信范文
2014/01/02 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
加工操作管理制度
2014/01/19 职场文书
小区门卫管理制度
2014/01/29 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
银行给客户的感谢信
2015/01/23 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
初一年级组工作总结
2015/08/12 职场文书
《称赞》教学反思
2016/02/17 职场文书
导游词之井冈山
2019/11/20 职场文书
Python 中的Sympy详细使用
2021/08/07 Python