网络编程 
首页 > 网络编程 > 浏览文章

用dtree实现树形菜单 dtree使用说明

(编辑:jimmy 日期: 2026/5/5 浏览:3 次 )
准备工作:
请从https://www.jb51.net/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="/UploadFiles/2021-04-02/dtree.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>
上一篇:js通过googleAIP翻译PHP系统的语言配置的实现代码
下一篇:Js sort排序使用方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap