用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数组去重3种方法的性能测试与比较
Mar 26 Javascript
jQuery中获取Radio元素值的方法
Jul 02 Javascript
jquery uploadify 在FF下无效的解决办法
Sep 26 Javascript
实用框架(iframe)操作代码
Oct 23 Javascript
浅谈如何实现easyui的datebox格式化
Jun 12 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
js实现二级导航功能
Mar 03 Javascript
Bootstrap 模态框(Modal)带参数传值实例
Aug 20 Javascript
vue组件之Alert的实现代码
Oct 17 Javascript
vue axios 简单封装以及思考
Oct 09 Javascript
详解JavaScript实现动态的轮播图效果
Apr 29 Javascript
通过GASP让vue实现动态效果实例代码详解
Nov 24 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/04/17 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
jQuery 使用手册(四)
2009/09/23 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
js实现密码强度检验
2017/01/15 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
分享Python文本生成二维码实例
2016/01/06 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
python实现按关键字筛选日志文件
2019/12/24 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
写自荐信要注意什么
2013/12/26 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书