dtree的用法实例:
其中的test.htm是javascript例子代码:
<script type="text/javascript" src="include/dtree.js"></script>
<div class="dtree">
<script type="text/javascript">
<!--
d = new dTree('d');
d.add(0,-1,'文章目录');
d.add(3,0,'技术与方案','admin.php?module=article&action=catelist&cid=3','','_blank');
d.add(5,0,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(34,5,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(35,34,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(36,35,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(37,36,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(38,37,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(7,6,'网络知识','admin.php?module=article&action=catelist&cid=7');
d.add(8,6,'配置手册','admin.php?module=article&action=catelist&cid=8');
d.add(9,6,'网络安全','admin.php?module=article&action=catelist&cid=9');
d.add(10,3,'解决方案','admin.php?module=article&action=catelist&cid=10');
d.add(11,10,'局域网','admin.php?module=article&action=catelist&cid=11');
d.add(12,10,'宽带接入','admin.php?module=article&action=catelist&cid=12');
d.add(6,3,'网络技术','admin.php?module=article&action=catelist&cid=6');
document.write(d);
-->
</script>
</div>
"d.add(3,0,'技术与方案','admin.php?module=article&action=catelist&cid=3','','_blank');
"中的"3"是当前节点,"0"是父节点,"技术与方案"是tree上显示的节点名,"admin.php?......"指向的url."_blank"是指向的窗口。
从上可以看出,这个javascript已经把tree图实现的大部分工作已经做好了。只要我们传入对应的数据就可以了。
首先是数据库结构。从上可以看出,有节点名,节点id,父节点id,节点url,节点target,还可以有个节点状态(比如是激活或休眠,很常用用一种用法),当然还可以有其它属性,那就要根据项目的需要了。其实只要抓住一点,有唯一节点id和唯一父节点id就可以了(面向对象)就可以了。
有了数据库结构,然后要实现tree图就是根据一定的限制(比如权限,最后对应为tree结构的子集(当然也必须是完整的tree结构))取出符合条件并且完整的tree结构的数据(我采用的解决方法是把权限对应的节点的上溯父节点都取出来保证tree结构的完整性
其中的test.htm是javascript例子代码:
<script type="text/javascript" src="include/dtree.js"></script>
<div class="dtree">
<script type="text/javascript">
<!--
d = new dTree('d');
d.add(0,-1,'文章目录');
d.add(3,0,'技术与方案','admin.php?module=article&action=catelist&cid=3','','_blank');
d.add(5,0,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(34,5,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(35,34,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(36,35,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(37,36,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(38,37,'新闻中心','admin.php?module=article&action=catelist&cid=5');
d.add(7,6,'网络知识','admin.php?module=article&action=catelist&cid=7');
d.add(8,6,'配置手册','admin.php?module=article&action=catelist&cid=8');
d.add(9,6,'网络安全','admin.php?module=article&action=catelist&cid=9');
d.add(10,3,'解决方案','admin.php?module=article&action=catelist&cid=10');
d.add(11,10,'局域网','admin.php?module=article&action=catelist&cid=11');
d.add(12,10,'宽带接入','admin.php?module=article&action=catelist&cid=12');
d.add(6,3,'网络技术','admin.php?module=article&action=catelist&cid=6');
document.write(d);
-->
</script>
</div>
"d.add(3,0,'技术与方案','admin.php?module=article&action=catelist&cid=3','','_blank');
"中的"3"是当前节点,"0"是父节点,"技术与方案"是tree上显示的节点名,"admin.php?......"指向的url."_blank"是指向的窗口。
从上可以看出,这个javascript已经把tree图实现的大部分工作已经做好了。只要我们传入对应的数据就可以了。
首先是数据库结构。从上可以看出,有节点名,节点id,父节点id,节点url,节点target,还可以有个节点状态(比如是激活或休眠,很常用用一种用法),当然还可以有其它属性,那就要根据项目的需要了。其实只要抓住一点,有唯一节点id和唯一父节点id就可以了(面向对象)就可以了。
有了数据库结构,然后要实现tree图就是根据一定的限制(比如权限,最后对应为tree结构的子集(当然也必须是完整的tree结构))取出符合条件并且完整的tree结构的数据(我采用的解决方法是把权限对应的节点的上溯父节点都取出来保证tree结构的完整性