dtree树可以作为简单的静态树使用,本人觉得此树组件就那样,但项目使用到了,就记录下来吧!
<!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>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
<script type="text/javascript">
function createTree(){
var treeDom = document.getElementById("tree2");
//此tree必须定义全局变量,因为节点的操作都是基于这个变量的,并且它必须和dTree("tree")的名字相同
tree = new dTree("tree");
tree.add(0,-1,'总的根');
tree.add(1,0,'第1个子节点');
tree.add(2,0,'第2个子节点');
tree.add(3,2,'第2个节点下的子节点');
tree.add(4,2,'第2个节点下的2个子节点');
treeDom.innerHTML=tree.toString();
}
</script>
</head>
<body>
<h1><a href="/">Destroydrop</a> » <a href="/javascripts/">Javascripts</a> » <a href="/javascripts/tree/">Tree</a></h1>
<h2>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(6,true);">openTo打开并选中</a>
| <a href="javascript: d.openTo(6,false);">openTo只打开</a>
| <a href="javascript: d.add(14,0,'动态添加节点');">add在树加载完成后不在支持add方法了</a>
</p>
<p>此树不支持动态添加节点,所以所有节点在转换前都必须指定</p>
<script type="text/javascript">
<!--
d = new dTree('d');
// add(id,pid,name, url, title,target, iocn, iocnopen,open);
//d.add(12,0, 'Recycle Bin','example01.html','', '', 'img/trash.gif');
d.add(0,-1,'My example tree');
//节点打开,并且链接在新页面打开
d.add(1,0,'Node 1','http://www.baidu.com','title标题','_blank','','',true);
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',false);
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');
d.add(13,0,'汉字');
//console.error("tree=",d.toString());
//文件夹节点链接不起作用
d.config.folderLinks=false;
//不使用cookies记录状态
d.config.useCookies=false;
//不使用连接线
d.config.useLines=false;
//不适用icon,如果此项设置为false,文件夹和自定义的icon图片都不能使用了。
d.config.useIcons=true;
//设置为true,当在有超链接的节点node时,状态栏显示的是节点名称而不是url地址
d.config.useStatusText=true;
d.config.inOrder=true;
document.write(d);
//-->
</script>
</div>
<hr/>
下面是我自己测试下的东西<br/>
<input type="button" value="生产自己写的树" οnclick="createTree()"/>
<div id="tree2"></div>
</body>
</html>
效果图为: