最近的項目要用到treeview插件,剛好就自己整理一下這方面的資料。
1.文檔樹示例
最簡單的一個例子就是文檔樹的實現。效果如下圖所示。
在使用treeview之前,html文檔中需要包含幾個jquery.js、jquery.treeview.js、jquery.treeview.css幾個文件。具體的請從官網下載。記住jquery.js的引用必須在jquery.treeview.js之前。
具體代碼如下:
1 <h1>文件樹示例</h1> 2 <ul id="file" class="filetree"> 3 <li><span class="folder">資料</span> 4 <ul> 5 <li><span class="file">光盤</span></li> 6 </ul> 7 </li> 8 <li><span class="folder">書籍</span> 9 <ul> 10 <li><span class="folder">小說</span> 11 <ul id="book"> 12 <li><span class="file">當代小說</span></li> 13 <li><span class="file">古典小說</span></li> 14 </ul> 15 </li> 16 <li><span class="file">詩歌</span></li> 17 </ul> 18 </li> 19 <li class="closed"><span class="folder">游戲</span> 20 <ul> 21 <li><span class="file">休閑游戲</span></li> 22 </ul> 23 </li> 24 <li><span class="folder">照片</span></li> 25 </ul>
從代碼中看出,要顯示出文檔樹的效果,必須在第一個ul的class中添加filetree類。而文件夾以及文件的顯示效果是通過添加一個<span></span>來實現的。文件夾使用folder類,文件使用file類。文檔樹的實現又是通過列表的嵌套實現的。而給包含相關文件夾li添加closed類可以使這個文件夾保持關閉狀態,默認的情況下所有文檔樹都是打開的。
單純的以上代碼是不能實現文檔樹的效果的,要實現上圖中的效果,還需要添加js代碼。大家注意第一個ul中的id=file屬性,這個時候就派上用場了,js代碼如下:
1 $(document).ready(function(){ 2 $("#file").treeview(); 3 4 });
這就是一個簡單文檔樹的實現。
2.導航樹示例
效果如下圖所示:
html代碼如下:

1 <ul id="navigation"> 2 <li><a href="#"></a>菜單1 3 <ul> 4 <li><a href="#">菜單1.0</a> 5 <ul> 6 <li><a href="#">菜單1.0.0</a></li> 7 </ul> 8 </li> 9 <li><a href="#">菜單1.1</a></li> 10 <li><a href="#">菜單1.2</a> 11 <ul> 12 <li><a href="#">菜單1.2.0</a> 13 <ul> 14 <li><a href="#">菜單1.2.0.0</a></li> 15 <li><a href="#">菜單1.2.0.1</a></li> 16 <li><a href="#">菜單1.2.0.2</a></li> 17 </ul> 18 </li> 19 <li><a href="#">菜單1.2.1</a> 20 <ul> 21 <li><a href="#">菜單1.2.1.0</a></li> 22 </ul> 23 </li> 24 <li><a href="#">菜單1.2.2</a> 25 <ul> 26 <li><a href="#">菜單1.2.2.0</a></li> 27 <li><a href="#">菜單1.2.2.1</a></li> 28 <li><a href="#">菜單1.2.2.2</a></li> 29 </ul> 30 </li> 31 </ul> 32 </li> 33 </ul> 34 </li> 35 </ul>
這里主要還是列表的嵌套,注意給首個ul添加navigation類屬性。
一樣的,也必須通過js才可以實現導航樹的功能:

1 $("#navigation").treeview({ 2 persist: "location", 3 collapsed: true, 4 unique: true 5 });
解釋:collapsed設置為true是指導航樹處於折疊狀態,相當於給前面的closed屬性。
3.示例三 帶有快速動畫的紅色主題樹
實際效果就是樹的顏色變成了紅色,並且添加了動畫。HTML代碼跟示例二差不多,js代碼發生了一點點變化。

1 $("#red").treeview({ 2 animated: "fast", //快速動畫 3 collapsed: true, //開始時設為折疊的 4 unique: true, 5 persist: "cookie", //基於cookie的持久性 6 toggle: function() { 7 window.console && console.log("%o was toggled", this); 8 } 9 });
一樣的也需要給html中的第一個ul添加treeview-red類屬性。
4.示例4 通過一顆樹控制兩棵樹,兩顆樹的顏色分別為黑色和灰色。
html關鍵代碼如下:

1 <div id="treecontrol"> 2 <a title="Collapse the entire tree below" href="#"><img src="../images/minus.gif" /> Collapse All</a> 3 <a title="Expand the entire tree below" href="#"><img src="../images/plus.gif" /> Expand All</a> 4 <a title="Toggle the tree below, opening closed branches, closing open branches" href="#">Toggle All</a> 5 </div> 6 <ul id="black" class="treeview-black"> 7 <li>Item 1</li> 8 ... 9 </ul> 10 <ul id="gray" class="treeview-gray"> 11 <li>Item 1</li> 12 .... 13 </ul>
js中代碼如下:

1 $("#black, #gray").treeview({ 2 control: "#treecontrol", 3 persist: "cookie", 4 cookieId: "treeview-black" 5 }); 6 7 });