zTree是一款在jQuery框架上使用的樹(shù)插件工具,這款插件可以為用戶(hù)提供多樣化的功能。我們可以使用zTree中文api來(lái)進(jìn)行項(xiàng)目的開(kāi)發(fā),通過(guò)權(quán)限管理、樹(shù)狀菜單等功能來(lái)完成項(xiàng)目中最為重要的開(kāi)發(fā)。從而大大提高了你的工作效率。
zTree是一個(gè)依靠jQuery實(shí)現(xiàn)的多功能“樹(shù)插件”。優(yōu)異的性能、靈活的配置、多種功能的組合是zTree最大優(yōu)點(diǎn)。zTree是開(kāi)源免費(fèi)的軟件(MIT許可證)。如果您對(duì)zTree感興趣或者愿意資助zTree繼續(xù)發(fā)展下去,可以進(jìn)行捐助。
1、zTree是一個(gè)依靠jQuery實(shí)現(xiàn)的多功能“樹(shù)插件”。優(yōu)異的性能、靈活的配置、多種功能的組合是zTree最大優(yōu)點(diǎn)
2、zTree是開(kāi)源免費(fèi)的軟件,使用MIT許可證
3、zTreev3.x將核心代碼按照功能進(jìn)行了分割,不需要的代碼可以不用加載)
4、采用了延遲加載技術(shù),上萬(wàn)節(jié)點(diǎn)輕松加載,即使在IE6下也能基本做到秒殺
5、兼容IE、FireFox?、Chrome、Opera、Safari等瀏覽器
6、支持JSON數(shù)據(jù),支持靜態(tài)和Ajax異步加載節(jié)點(diǎn)數(shù)據(jù)
7、支持任意更換皮膚/自定義圖標(biāo)
8、支持極其靈活的checkbox或radio選擇功能
9、靈活的編輯(增/刪/改/查)功能,可隨意拖拽節(jié)點(diǎn),還可以多節(jié)點(diǎn)拖拽喲
10、在一個(gè)頁(yè)面內(nèi)可同時(shí)生成多個(gè)Tree實(shí)例
步驟 1、文件準(zhǔn)備
將需要使用的 zTree v3.x 相關(guān)的 js、css、img 文件分別放置到相應(yīng)目錄,并且保證相對(duì)路徑正確
步驟 2、編寫(xiě) html 頁(yè)面
按照以下代碼,制作 html 頁(yè)面,訪問(wèn)試試看吧,注意:
1) "<!DOCTYPE html>" 是必需的!
2) zTree 的容器 className 別忘了設(shè)置為 "ztree"
3) 入門(mén)成功后,就可以按照順序去看 Demo 了,直接看看源碼,應(yīng)該能看懂的
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> ZTREE DEMO </TITLE>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="demoStyle/demo.css" type="text/css">
<link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="jquery.ztree.core-3.x.js"></script>
<SCRIPT LANGUAGE="JavaScript">
var zTreeObj;
// zTree 的參數(shù)配置,深入使用請(qǐng)參考 API 文檔(setting 配置詳解)
var setting = {};
// zTree 的數(shù)據(jù)屬性,深入使用請(qǐng)參考 API 文檔(zTreeNode 節(jié)點(diǎn)數(shù)據(jù)詳解)
var zNodes = [
{name:"test1", open:true, children:[
{name:"test1_1"}, {name:"test1_2"}]},
{name:"test2", open:true, children:[
{name:"test2_1"}, {name:"test2_2"}]}
];
$(document).ready(function(){
zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
});
</SCRIPT>
</HEAD>
<BODY>
<div>
<ul id="treeDemo" class="ztree"></ul>
</div>
</BODY>
</HTML>
ztree如何默認(rèn)展開(kāi)全部?
首先我們看一下默認(rèn)是沒(méi)有展開(kāi)節(jié)點(diǎn)的,如下圖所示
然后我們相關(guān)的代碼如下圖所示
接著我們找到API,找到如下圖所示的函數(shù)
然后在代碼中加入這個(gè)函數(shù),將參數(shù)設(shè)置為true
接著在運(yùn)行就看到節(jié)點(diǎn)都展開(kāi)了,如下圖所示
最后如果參數(shù)是false就是默認(rèn)的不展開(kāi),如下圖所示
1、js 核心文件
zTree v3.x 有 3 個(gè) js 文件,一個(gè) 核心包 ( jquery.ztree.core-3.x.js ),兩個(gè)擴(kuò)展包 -- 復(fù)選框功能包 ( jquery.ztree.excheck-3.x.js ) & 編輯功能包 ( jquery.ztree.exedit-3.x.js )
使用 zTree v3.x 時(shí),核心包必須加載,擴(kuò)展包根據(jù)需要進(jìn)行加載;這種結(jié)構(gòu)有利于今后不斷開(kāi)發(fā) zTree 的各種輔助功能或工具,而不影響基本功能。
在實(shí)際使用中,建議將使用的擴(kuò)展包 與 核心包 代碼合并為一個(gè) js 文件,以節(jié)省網(wǎng)絡(luò)資源,合并時(shí)一定要將核心包的代碼放在最前面.
2、css 文件
zTree v3.x 只使用一個(gè) zTreeStyle.css 文件,為了盡量避免樣式?jīng)_突,將 zTree 容器的 className 設(shè)置為 'ztree'
v3.x 中對(duì)于主要 DOM ( li、ul、+/-圖標(biāo)、a ) 的 className 增加了 level 輸出,可以針對(duì)不同等級(jí)的節(jié)點(diǎn)設(shè)定獨(dú)立的樣式
3、img 圖片
zTree v3.x 將主要圖標(biāo)都合并為一個(gè)圖片,利用圖片切割方式顯示圖標(biāo)
為了避免原先節(jié)點(diǎn)連線之間 1 像素間隔的問(wèn)題,在 v3.x 中 +/-圖標(biāo) 繼續(xù)保留 18*18 的尺寸,其余圖標(biāo)全部修改為 16*16,請(qǐng)升級(jí)的朋友務(wù)必注意修正原先使用的圖標(biāo)大小
在 v3.x Demo 中 自定義圖標(biāo)都是獨(dú)立的圖片文件,實(shí)際開(kāi)發(fā)中建議也都采用圖片切割的方式
4、zTree 數(shù)據(jù)
zTree 使用 JSON 數(shù)據(jù),關(guān)于數(shù)據(jù)部分請(qǐng)認(rèn)真查看 API 文檔 "treeNode 節(jié)點(diǎn)數(shù)據(jù)詳解" 中的內(nèi)容,并且在 Demo 中也都可以看到 treeNode 的定義
5、調(diào)試代碼
進(jìn)行程序開(kāi)發(fā)時(shí),建議首先使用 chrome 或 firefox 進(jìn)行調(diào)試工作 -- 普通 js 調(diào)試,ajax 獲取數(shù)據(jù)時(shí)網(wǎng)絡(luò)情況的跟蹤都很容易。 個(gè)人推薦:chrome 的開(kāi)發(fā)人員工具或 firefox 的 firebug 插件。
zTree 對(duì) jQuery 的版本有要求嗎?
基本來(lái)說(shuō)沒(méi)有要求,zTree 在開(kāi)發(fā)中使用 jQuery 1.4.4;目前簡(jiǎn)單測(cè)試過(guò) jQuery 1.3+ 應(yīng)該都能正常使用,如果發(fā)現(xiàn)和 jQuery 的兼容問(wèn)題,還請(qǐng)及時(shí) Email: hunter.z@263.net 通知我。
如果希望有更好的動(dòng)畫(huà)效果,更高的運(yùn)行效率,可以選擇較高版本的 jQuery;如果希望能有減少 js 代碼,使用基本功能,那么可以選擇 mini 版較低版本的jQuery,大家就各取所需吧。
zTree 中提供的是未經(jīng)壓縮的 jQuery 1.4.4,主要是開(kāi)發(fā)時(shí)便于調(diào)試。
css 樣式異常怎么辦?
產(chǎn)生樣式?jīng)_突的可能性很多,在這次 v3.0 的制作過(guò)程中,又更加深入了這方面的了解,大概總結(jié)如下:
1、異常原因:
頁(yè)面上自定義的 css 與 zTree 的 css 產(chǎn)生沖突
頁(yè)面上使用其他插件的 css 與 zTree 的 css 產(chǎn)生沖突
修改 zTree 的 css 錯(cuò)誤影響了 zTree
2、解決方案:
由于 css 沖突的可能性太多,與其說(shuō)是解決方案,不如說(shuō)是處理建議。
A、避免針對(duì) id 進(jìn)行樣式設(shè)定,盡量采用 class 設(shè)置。 因?yàn)獒槍?duì) id 設(shè)定的樣式等級(jí)太高,zTree 的樣式肯定會(huì)被覆蓋。
B、zTree 默認(rèn)的樣式不可能將全部 css 定義都重新設(shè)置一遍,所以難免有遺漏,如果被遺漏的樣式影響了效果,那么請(qǐng)?jiān)?zTreeStyle 內(nèi)增加上對(duì)應(yīng)的設(shè)置內(nèi)容,而且一旦出現(xiàn)這種情況,也希望你能通知我,謝謝。
C、如果以上都不能解決,那么再看看是否有命名規(guī)則沖突,導(dǎo)致了樣式?jīng)_突
D、最后再看看是否自己修改的 zTree 樣式出現(xiàn)了錯(cuò)誤
如何將 節(jié)點(diǎn)數(shù)據(jù)提交給 Server 端?
你可以利用 Form 或 Ajax 提交數(shù)據(jù)。
把 JSON 數(shù)據(jù)轉(zhuǎn)化為參數(shù)是比較麻煩的。在今后,我會(huì)逐漸提供一些工具包便于大家生成各種格式的數(shù)據(jù)。
制作提交數(shù)據(jù)的基本方法:拼字符串
拼接成什么格式的字符串? 是 url? xml? 還是 json? 這就要根據(jù)后臺(tái)解析數(shù)據(jù)的方法來(lái)決定了。
1贛教云教學(xué)通2.0-贛教云教學(xué)通2.0下載 v5......
2step7 microwin-西門(mén)子PLC S7......
3百度網(wǎng)盤(pán)清爽精簡(jiǎn)純凈版-網(wǎng)盤(pán)工具-百度網(wǎng)盤(pán)清爽精......
4360安全瀏覽器-瀏覽器-360安全瀏覽器下載 ......
5谷歌瀏覽器 XP版-谷歌瀏覽器 XP版-谷歌瀏覽......
6Kittenblock重慶教育專(zhuān)用版-機(jī)器人編程......
7seo外鏈助手(超級(jí)外鏈) -SEO外鏈優(yōu)化工具......
8Notepad3-記事本軟件-Notepad3下......
9小米運(yùn)動(dòng)刷步數(shù)神器-小米運(yùn)動(dòng)刷步數(shù)神器下載 v2......