js tree Dtree and Xtree

  1. 樹型菜單是我們在開發中經常用到的數據組合和顯示方式,    
  2. dTree(http://www.destroydrop.com/javascripts/tree/)   
  3. dTree是一種免費的javascript樹型菜單, 它支持ie5+, ns 6+, Opera 7+以及Mozilla瀏覽器   
  4. 使用簡單:   
  5. 引入樹, 在head中加入dtree.js和dtree.css(注意要把js,css和img放到相應目錄), 如下所示:   
  6. <link rel="StyleSheet" href="dtree.css" type="text/css" />  
  7. <script type="text/javascript" src="dtree.js"></script>  
  8. 實例化樹並顯示   
  9. <div class="dtree">  
  10.   
  11.     <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>  
  12.   
  13.     <script type="text/javascript">  
  14.         <!--   
  15.   
  16.         d = new dTree('d');   
  17.   
  18.         d.add(0,-1,'My example tree');   
  19.         d.add(1,0,'Node 1','example01.html');   
  20.         d.add(2,0,'Node 2','example01.html');   
  21.         d.add(3,1,'Node 1.1','example01.html');   
  22.         d.add(4,0,'Node 3','example01.html');   
  23.         d.add(5,3,'Node 1.1.1','example01.html');   
  24.         d.add(6,5,'Node 1.1.1.1','example01.html');   
  25.         d.add(7,0,'Node 4','example01.html');   
  26.         d.add(8,1,'Node 1.2','example01.html');   
  27.         d.add(9,0,'My Pictures','example01.html','Pictures I/'ve taken over the years','','','img/imgfolder.gif');   
  28.         d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');   
  29.         d.add(11,9,'Mom/'s birthday','example01.html');   
  30.         d.add(12,0,'Recycle Bin','example01.html','','','img/trash.gif');   
  31.         d.add(13,12,'sub Recycle Bin','','','','img/trash.gif');   
  32.   
  33.         document.write(d);   
  34.   
  35.         //-->  
  36.     </script>  
  37.   
  38. </div>  
  39. add方法的參數說明 id:當前節點標識, pid:父節點標識, name:當前節點名字, url:當菜單被點擊時響應的超鏈接, title:提示語,    
  40. target:在目標窗口打開鏈接, icon:關閉時的顯示圖標, iconOpen:打開時的顯示圖標, open:默認的打開狀態, true打開, false關閉(不過它會讀cookie, 所以有時看不出效果)   
  41. dTree.prototype.add = function(id, pid, name, url, title, target, icon, iconOpen, open)   
  42.   
  43. Xtree(http://webfx.eae.net/dhtml/xtree/implementation.html)   
  44. 相對dTree來說, xTree功能要多一些, 能動態增減樹的節點   
  45. 引入樹:   
  46. <!-- The xtree script file -->  
  47. <script src="xtree.js"></script>  
  48. <link type="text/css" rel="stylesheet" href="xtree.css">  
  49. 實例化樹, 並顯示   
  50. <div style="position: absolute; width: 200px; top: 0px; left: 0px; height: 100%; padding: 5px; overflow: auto;">  
  51.   
  52. <!-- js file containing the tree content, edit this file to alter the menu,   
  53.      the menu will be inserted where this tag is located in the document -->  
  54. <script>  
  55. if (document.getElementById) {   
  56.     var tree = new WebFXTree('Root');   
  57.     tree.setBehavior('classic');   
  58.     var a = new WebFXTreeItem('1');   
  59.     tree.add(a);   
  60.     var b = new WebFXTreeItem('1.1');   
  61.     a.add(b);   
  62.     b.add(new WebFXTreeItem('1.1.1'));   
  63.     b.add(new WebFXTreeItem('1.1.2'));   
  64.     b.add(new WebFXTreeItem('1.1.3'));   
  65.     var f = new WebFXTreeItem('1.1.4');   
  66.     b.add(f);   
  67.     f.add(new WebFXTreeItem('1.1.4.1'));   
  68.     f.add(new WebFXTreeItem('1.1.4.2'));   
  69.     f.add(new WebFXTreeItem('1.1.4.3'));   
  70.     var c = new WebFXTreeItem('1.2');   
  71.     a.add(c);   
  72.     c.add(new WebFXTreeItem('1.5.1'));   
  73.     c.add(new WebFXTreeItem('1.5.2'));   
  74.     c.add(new WebFXTreeItem('1.5.3'));   
  75.     a.add(new WebFXTreeItem('1.3'));   
  76.     a.add(new WebFXTreeItem('1.4'));   
  77.     a.add(new WebFXTreeItem('1.5'));   
  78.     var d = new WebFXTreeItem('2');   
  79.     tree.add(d);   
  80.     var e = new WebFXTreeItem('2.1');   
  81.     d.add(e);   
  82.     e.add(new WebFXTreeItem('2.1.1'));   
  83.     e.add(new WebFXTreeItem('2.1.2'));   
  84.     e.add(new WebFXTreeItem('2.1.3'));   
  85.     d.add(new WebFXTreeItem('2.2'));   
  86.     d.add(new WebFXTreeItem('2.3'));   
  87.     d.add(new WebFXTreeItem('2.4'));   
  88.     document.write(tree);   
  89. }   
  90.   
  91. function addNode() {   
  92.     if (tree.getSelected()) {   
  93.         tree.getSelected().add(new WebFXTreeItem('New'));   
  94.     }   
  95. }   
  96.   
  97. function addNodes() {   
  98.     if (tree.getSelected()) {   
  99.         var foo = tree.getSelected().add(new WebFXTreeItem('New'));   
  100.         var bar = foo.add(new WebFXTreeItem('Sub 1'));   
  101.         var fbr = foo.add(new WebFXTreeItem('Sub 2'));   
  102.     }   
  103. }   
  104.   
  105. function delNode() {   
  106.     if (tree.getSelected()) {   
  107.         tree.getSelected().remove();   
  108.     }   
  109. }   
  110. </script>  
  111.   
  112. </div>  
  113.   
  114. 打開關閉節點:tree.toggle()   
  115. 打開節點:tree.expand();   
  116. 關閉節點:tree.collapse();   
  117. 打開所有節點:tree.expandAll();   
  118. 關閉所有節點:tree.collapseAll();   
  119. 打開子節點:tree.expandChildren();   
  120. 關閉子節點:tree.collapseChildren();   
  121. 顯示當前節點的id:if (tree.getSelected()) { alert(tree.getSelected().id); }   
  122. 增加節點:addNode()   
  123. 增加多個節點:addNodes()   
  124. 刪除節點:delNode()   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章