用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 相关文章推荐
Jquery实现由下向上展开效果的例子
Dec 08 Javascript
JavaScript调试工具汇总
Dec 23 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
Prototype框架详解
Nov 25 Javascript
基于jquery实现轮播焦点图插件
Mar 31 Javascript
JQuery DIV 动态隐藏和显示的方法
Jun 23 Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 Javascript
jQuery简单倒计时效果完整示例
Sep 20 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
Jun 30 Javascript
JavaScript链式调用实例浅析
Dec 19 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
手写Vue源码之数据劫持示例详解
Jan 04 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
模仿OSO的论坛(一)
2006/10/09 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
vue项目出现页面空白的解决方案
2019/10/31 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
Python判断操作系统类型代码分享
2014/11/22 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
详解小白之KMP算法及python实现
2019/04/04 Python
对Python中画图时候的线类型详解
2019/07/07 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
python 基于wx实现音乐播放
2020/11/24 Python
匡威德国官网:Converse德国
2019/01/26 全球购物
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
给学校建议书范文
2014/05/13 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
Python jiaba库的使用详解
2021/11/23 Python
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL
Android 中的类文件和类加载器详情
2022/06/05 Java/Android