用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类定义例子
Sep 12 Javascript
jquery live()调用不存在的解决方法
Feb 26 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
jQuery实现checkbox列表的全选、反选功能
Nov 24 Javascript
jQuery按需加载轮播图(web前端性能优化)
Feb 17 Javascript
Angular2使用jQuery的方法教程
May 28 jQuery
JS实现上传图片的三种方法并实现预览图片功能
Jul 14 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
Dec 04 Javascript
如何在微信小程序中实现Mixins方案
Jun 20 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 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读注册表
2006/10/09 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
JS hashMap实例详解
2016/05/26 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
Python中Django发送带图片和附件的邮件
2017/03/31 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
python绘制热力图heatmap
2020/03/23 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
Pytorch的mean和std调查实例
2020/01/02 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
医务人员自我评价
2014/01/26 职场文书
2014年保管员工作总结
2014/11/18 职场文书
单位委托函范文
2015/01/29 职场文书
会计岗位职责
2015/02/03 职场文书
学年个人总结范文
2015/03/05 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL