`
jeasony
  • 浏览: 199944 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JavaScript树型菜单 dtree

    博客分类:
  • js
阅读更多

JS代码很简洁,但是实现了所有树形菜单应有的功能,安装和使用都很简单,特别是从数据库恢复成一棵树变得非常容易。下载包里自带一些常用图标,只需简单的操作,就可以实现看起来相当专业的树形菜单。

- 官方网站:http://www.destroydrop.com/javascripts/tree/
- 这里下载JS脚本文件包:http://www.destroydrop.com/javascripts/tree/dtree.zip
- 这儿是演示(Demo):http://www.destroydrop.com/javascripts/tree/example/

 

详细介绍应用dtree构建一个JavaScript树型菜单及其中参数配置说明

这几天写了个网站www.aatii.cn,用了一个JavaScript写的树型菜单,有网友问我要这个代码,很奇怪,了解一下,原来网上很多文章都在讨论Js树型菜单,看了几个实例,发现确实没有我用的这个好,因此baidu了一下,略作整理,希望大家不要浪费无用功。
(网上很多人都将dtree改头换面加以演绎,造成了海量垃圾,这里希望大家尊重他人劳动成果,保留版权信息,再进行完善的话,还一个洁净环境,人人如此,我们就不会在学习中走很多弯路了,当你能这样做了 我们就慢慢成为一个真正的程序员了)。
首先说我用的这个Js树型菜单,不是我做的是一个老外写的---dtree。

这个无限级可刷新Js树型菜单 dTree
 1、可设置无限级菜单
 2、不必使用框架
 3、可刷新,多页面内跳转不会影响菜单
 4、可限级创造子树
 5、支持目前主流浏览器:IE5,6,7
 6、节点图片可设置切换图片效果


下载url:http://www.destroydrop.com/javascripts/tree/
看看最下边的时间,2003 Geir Landro人家就写出来了,俺现在才用(佩服)

解压缩dtree.zip 包。
dtree目录下包括这些文件:example01.html 、 dtree.js 、 api.html 、 dtree.css 和img目录     
注意:除了api.html之外,其它的文件都是必须拷贝的。api.html是dtree的函数介绍。

打开example01.html文件

    <link rel="StyleSheet" href="css/dtree.css" type="text/css" /> 
    <script type="text/javascript" src="js/dtree.js"></script> 

必须引用的两个文件。

生成树 节点的代码:
     <script type="text/javascript"> 
        <!-- 

        d = new dTree(’d’);//创建一个树对象 

        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’); 

        document.write(d); 

        //--> 
    </script> 

d.add(0,-1,’My example tree’);
     这一句为树添加了一个根节点,显示名称为’My example tree’    d.add(1,0,’Node 1’,’example01.html’);
    这一句在树的根节点下面添加了一个子节点。(d.add()方法的参数具体含义可参见api.html文件)     
常用的:     
第一个参数,表示当前节点的ID     
第二个参数,表示当前节点的父节点的ID,根节点的值为 -1    
第三个参数,节点要显示的文字     
第四个参数,节点的Url     
第五个参数,鼠标移至该节点时节点的Title     
第六个参数,节点的target
第七个参数,用做节点的图标,节点没有指定图标时使用默认值
第八个参数,用做节点打开的图标,节点没有指定图标时使用默认值
第九个参数,判断节点是否打开

使用实例大家可参照 www.amyou.cn 的树型菜单

附 rlog翻译:

属性菜单使用说明 

函数 

add() 
向树里添加一个节点 
只能在树被创建之前调用. 
必须 id, pid, name 
参数 
名字    类型    描述 
id    Number    唯一的ID号 
pid    Number    判定父节点的数字,根节点的值为 -1 
name    String    节点的文本标签 
url    String    节点的Url 
title    String    节点的Title 
target    String    节点的target 
icon    String    用做节点的图标,节点没有指定图标时使用默认值 
iconOpen    String    用做节点打开的图标,节点没有指定图标时使用默认值 
open    Boolean    判断节点是否打开 
例子 
mytree.add(1, 0, ’My node’, ’node.html’, ’node title’, ’mainframe’, ’img/musicfolder.gif’); 

openAll() 
打开所有节点 
可在树被创建以前或以后调用. 
例子 
mytree.openAll(); 

closeAll() 
关闭所有节点 
可在树被创建以前或以后调用. 
例子 
mytree.closeAll(); 

openTo() 
Opens the tree to a certain node and can also select the node. 
只能在树被创建以后调用.. 
参数 
名字    类型    描述 
id    Number    节点唯一的ID号 
select    Boolean    判断节点是否被选择 
例子 
mytree.openTo(4, true); 

配置 
变量    类型    默认值    描述 
target    String    true    所有节点的target 
folderLinks    Boolean    true    文件夹可链接 
useSelection    Boolean    true    节点可被选择(高亮) 
useCookies    Boolean    true    树可以使用cookies记住状态 
useLines    Boolean    true    创建带线的树 
useIcons    Boolean    true    创建带有图标的树 
useStatusText    Boolean    false    用节点名替代显示在状态栏的节点url 
closeSameLevel    Boolean    false    只有一个有父级的节点可以被展开,当这个函数可用时openAll() 和 closeAll() 函数将不可用 
inOrder    Boolean    false    如果父级节点总是添加在子级节点之前,使用这个参数可以加速菜单显示. 
例子 
mytree.config.target = "mytarget";
 

写到这里捎带说一下,这几天我研究了一下 extjs里边的树型菜单,功能非常强大,但如果构建一个简单的网页上的树型菜单还是dtree方便多了。

作者:吕海鹏   
来自:www.DeepTeach.com   

更新日志:   
2007-10-22 v0.1  初稿完成;  

参考文档:   

相关文档:   

致谢: 
dowhatyouwant :无限级可刷新Js树型菜单dTree(http://5key.net/blog/article.asp?id=315
rlog :翻译资料 http://www.box.net/shared/26afylzzcb (网络文件夹,无毒) 

讨论网址:bbs.DeepTeach.com 

 

该文章转载自:http://www.deepteach.com/www1/ArticleContent.asp?ID=133

分享到:
评论
6 楼 huaxialonger 2011-08-31  
根结点怎么不能折起来啊
5 楼 yan578351314 2011-08-15  
这东西好呀!!!顶。。。。。
4 楼 s524141771 2011-07-06  
LZ,当在一个页面内生成2个或多个树时,展开节点会出问题,即:点击第二个树的某4级节点,会展开第一个树的某4级节点。
当然,前提是第一个树有4级节点,且是最先write到页面的。
不知LZ遇到过没?
麻烦回复下?谢谢啊
3 楼 wangyazhen 2010-01-16  
这些用于系统开发还比较好,我有个客户要求是做个展示产品的页面,对菜单很不喜欢这种,不知道博主有没有比较漂亮和实用的树形菜单!我正准备自己做个!虽然简陋,但是可以满足变态要求!
2 楼 jeasony 2009-06-03  
Andrey 写道

非常感谢!

呵呵 ,我也是借花献佛,能帮助你,很高兴,这个dtree挺好用。
1 楼 Andrey 2009-06-03  
非常感谢!

相关推荐

    JSP树型菜单 DTree.zip

    总结来说,JSP树型菜单DTree通过HTML、JavaScript和CSS的结合,提供了强大的树形结构展示功能。开发者可以根据项目需求,通过修改`dtree.js`中的逻辑、`dtree.css`中的样式,以及`example01.html`中的示例代码,定制...

    无限级可刷新Js树型菜单 dTree

    "无限级可刷新Js树型菜单 dTree" 是一个JavaScript库,用于在Web应用中创建能够无限层级展开和刷新的树形菜单。这个标题表明该库特别适用于那些需要展示复杂层次结构数据的场景,比如组织结构、文件系统或者导航菜单...

    基于Java的源码-JSP树型菜单 DTree.zip

    - dtree.js:这是DTree的核心JavaScript文件,包含了实现树型菜单逻辑的代码,可能会处理用户的交互事件,如点击、展开、收缩等。 - img:这个目录可能包含了与DTree相关的图像资源,如箭头图标、节点指示器等。 ...

    基于Java的实例开发源码-JSP树型菜单 DTree.zip

    `dtree.js`是核心JavaScript文件,实现了树型菜单的逻辑。JavaScript是一种常用的客户端脚本语言,用于增强网页的交互性。在这个案例中,`dtree.js`可能包含了创建树型菜单对象、渲染节点、处理用户点击事件以及动画...

    可刷新Js树型菜单 dTree

    `dTree` 是一个强大的JavaScript库,专用于创建无限级的可刷新树型菜单。这个库允许用户在网页上动态展示和操作复杂的层级数据,提供了丰富的功能和高度的自定义性。 **1. 无限级节点支持** `dTree` 支持无限级别的...

    基于java的JSP树型菜单 DTree.zip

    本压缩包"基于java的JSP树型菜单 DTree.zip"提供了实现JSP页面中树形菜单功能的资源。下面将详细介绍这些资源及其在实际应用中的作用。 首先,`dtree.css`是样式表文件,它包含了树形菜单的样式定义。在网页开发中...

    基于Java的实例源码-JSP树型菜单 DTree.zip

    2. **JavaScript(JS)**:在本实例中,dtree.js是实现树型菜单交互功能的JavaScript文件。JavaScript负责处理用户的点击事件,展开和折叠节点,以及可能的数据加载逻辑。通过与后台服务器交互,JavaScript可以动态...

    JSP树型菜单 DTree源代码

    4. **dtree.js**:这是DTree的核心JavaScript文件,包含了实现树型菜单功能的代码。这个文件可能包含了构造树形结构、处理用户交互、动态加载数据等功能。开发者可以通过查看源码来深入理解DTree的内部工作机制,...

    java源码:JSP树型菜单 DTree.zip

    Java源码中的JSP树型菜单DTree是一个经典的应用,常用于构建Web应用程序中的层级结构展示,如组织架构、文件目录或导航菜单等。DTree是基于JavaScript和JSP技术实现的,它通过动态加载和交互来展示树状数据结构。 1...

    JSP树型菜单 DTree.java源码学习

    2. **初始化DTree**:在JSP页面的底部或者`&lt;head&gt;`部分,通过JavaScript调用`new DTree()`来初始化树型菜单。在这里,你需要提供树的根节点ID以及可能的配置选项,如是否自动展开所有节点,节点点击事件等。 3. **...

    javascript树型菜单(Dtree和Xtree)

    JavaScript树型菜单是一种常见的网页交互元素,用于组织和展示层级结构的数据,比如网站导航、文件目录等。在前端开发中,Dtree和Xtree是两种常见的JavaScript实现树型菜单的库。下面将详细介绍这两个库以及相关知识...

    基于Java+JSP树型菜单 DTree源码文件

    "基于Java+JSP树型菜单 DTree源码文件"提供了一种解决方案,它利用Java和JSP技术来创建动态的、交互式的树形菜单。下面我们将深入探讨这个主题。 Java是一种广泛使用的后端编程语言,具有跨平台的特性,常用于...

    JavaScript组件dtree轻松实现树型菜单

    本文将深入探讨如何使用dtree来构建JavaScript树型菜单,并分享相关知识点。 首先,了解dtree的基本概念。dtree是一个纯JavaScript编写的组件,不需要依赖其他库如jQuery,这使得它在各种环境下都能运行良好。它的...

    Dtree JS脚本DEMO

    5. **JavaScript树型菜单 dtree.txt**: 这可能是Dtree的使用指南或更详细的文档,提供关于如何创建和操作树形菜单的文本信息。阅读此文件有助于理解和使用Dtree的各种功能。 6. **img**: 这个文件夹可能包含了Dtree...

    无限级可刷新Js树型菜单 dTree特效代码

    【无限级可刷新Js树型菜单 dTree特效代码】是一种基于JavaScript实现的高效且灵活的树形菜单系统,尤其适用于需要展示多层级结构数据的Web应用。它具有以下几个关键特性: 1. **无限级菜单**:dTree允许开发者创建...

    JavaScript动态树型菜单(带有参数说明)

    在本案例中,我们讨论的是一款名为"dtree"的JavaScript库,它能够帮助开发者创建具有动态效果的树型菜单。下面将详细介绍这款菜单的实现原理和关键知识点。 首先,`dtree.js`是核心JavaScript文件,包含了树型菜单...

    JAVAscript dtree 树型菜单

    JavaScript dTree 是一个轻量级的库,用于创建具有复选框功能的交互式树形菜单。这种类型的菜单在Web应用程序中广泛使用,特别是在需要层级结构数据展示和多选操作的场景下。dTree 提供了一种高效且灵活的方式来组织...

Global site tag (gtag.js) - Google Analytics