您的位置:首页 > Web前端 > JavaScript

dTree生成的树形目录

2010-12-02 11:36 302 查看
 dtree是一个由JavaScript编写成的简单的树形菜单组件,目前免费并且开源。   目前有很多的树形菜单组件(比如ext),dtree是一种简单易懂的js组件,不需要复杂的操作即可生产,同时支持动态从数据库引入数据。
今天用到dTree.js,顺便研究了下。
dTree产生一个javascript树形目录结构,设置和应用都比较简单。示例如下:
 
example.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
  <title>Destroydrop » Javascripts » Tree</title>

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

<body>
<h1>
  <a href="/">Destroydrop</a> » <a href="/javascripts/">Javascripts</a> » <a href="/javascripts/tree/">DTree</a>    
</h1>

<h2>dTree Example</h2>

<div class="dtree">
  <p>
    <a href="javascript: d.openAll();">open all</a> |
    <a href="javascript: d.closeAll();">close all</a> |    
    <a href="javascript: d.openTo(11, true);">openTo</a> |<!--when tree is drawn-->
    <a href="javascript: d.toString();">view</a>
  </p>
  <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>
</div>

</body>
</html>

 
效果图如下:



很帅吧~ 哈哈!!
 
主要用到的几个方法:
add():  添加一个节点                      id, pid, name是必选的。
原型:add(id, pid, name, url, title, target, icon, iconOpen, open)
ex:d.add(1, 0, 'My node', 'example.html', 'node title', 'mainframe', 'img/folder.gif')
 
openAll():打开所有的节点
ex:d.openAll();
 
closeAll():关闭所有的节点
ex:d.closeAll();
 
openTo():打开特定的一个节点并选中。
ex:d.openTo(4, true) 打开第4个节点并选中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息