用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 在各个浏览器中执行的耐性
Apr 06 Javascript
jQuery 使用手册(六)
Sep 23 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
May 24 Javascript
js去除空格的12种实用方法
Nov 08 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 Javascript
JavaScript Math.round() 方法
Dec 18 Javascript
JS实现css hover操作的方法示例
Apr 07 Javascript
javascript 中的继承实例详解
May 05 Javascript
详解node单线程实现高并发原理与node异步I/O
Sep 21 Javascript
vue+axios+element ui 实现全局loading加载示例
Sep 11 Javascript
vue中设置、获取、删除cookie的方法
Sep 21 Javascript
详解Vue slot插槽
Nov 20 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
PHP 面向对象 final类与final方法
2010/05/05 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
JavaScript OOP类与继承
2009/11/15 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
AngularJs Scope详解及示例代码
2016/09/01 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
python中函数默认值使用注意点详解
2016/06/01 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
网站开发实习生的自我评价
2013/12/11 职场文书
中考标语大全
2014/06/05 职场文书
先进工作者事迹材料
2014/12/23 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫