<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    道非道 非常道

    勤思、謹言、慎行、厚積、薄發

    統計

    web

    天圓

    經濟 政治 軍事

    鍵康

    xtree的基本應用---入門級(轉)

    xtree的基本應用---入門級(轉)

    由 于公司要求做一棵關于公司員工選擇的JS控件樹,以前我們一直使用的都是dTree,由于沒有采用AJAX,服務器在北京的話,使用起來超慢,于是上面要 求修改此樹,沒想到任務落到了我的頭上,沒辦法,硬著頭皮做吧。正在我想有什么辦法的時候,同事推介用用Xtree,于是我開始去學習這個東東,現在只能 是基本應用,也想共享一下自己的學習必得。

    1、下載:http://webfx.eae.net/dhtml/xtree2b/,里面包括了API,和DEMO,都是E文的,不過很容易看懂的。也可以直接在此網站點擊相關DEMO看效果,很不錯的。

    2、就是使用了:可以直接打開下載解壓后的文件中的相關DEMO看看效果。不過要注意,因為Xtree使用了AJAX,也使用到了XML,不知道什 么原因,在 IE里本地打開動態加載的樹時會報JS錯誤,也不能正常打開樹(通過服務器器不會出錯),在FireFox中就能本地正常打開。

    3、建立自己的樹:Xtree有兩種樹,一種是靜態樹,一種是動態樹。也可以將這兩種樹綜合在一起使用。

    大家要去參考一下網上的“分析xloadtree, 用ajax實現的動態目錄樹 ”這篇文章,寫得不錯。

    (1)、靜態樹:
    <html>
    <head>
    <title>測試樹</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link type="text/css" rel="stylesheet" href="css/xtree2.css">
    <script type="text/javascript" src="js/xtree2.js"></script>
    </head>
    <body>
    <script type="text/javascript">
    var tree = new WebFXTree("測試樹");//構造一棵樹
    for (var i = 0; i < 50; i++){
    tree.add( new WebFXTreeItem("子結點 " + i) );//加入結點
    }
    tree.write();//輸入樹
    </script>
    <body>
    </html>

    (2)、動態樹
    var tree = new WebFXLoadTree("Hello World", "tree.xml");//打開根結點時,即從tree.xml文件中得到子樹,也可是從服務器返回的XML流
    tree.write();

    (3)、兩種樹綜合(從XML文件中讀到子樹結點):
    var tree = new WebFXTree("Root");
    tree.add(new WebFXTreeItem("Tree Item 1"));

    //從tree.xml文件中動態加載子樹,此處的XML文件可以是從服務器方返回來的XML流,
    //如:tree.add(new WebFXLoadTreeItem("從服務器返回", "tree.jsp"));
    tree.add(new WebFXLoadTreeItem("Tree Item 2", "tree.xml"));

    tree.add(new WebFXTreeItem("Tree Item 4"));
    tree.write();

    tree.jsp文件如下:
    <%@ page language="java" contentType="text/xml; charset=UTF-8" pageEncoding="UTF-8" %>
    <%
            response.setContentType("text/xml"); //這句必須要,只有設置了才是能XML流形式輸出到客戶端
            out.println("<tree>");
            out.println("<tree text=""Load tree.xml"" src=""         out.println("</tree>");
    %>

    4、tree.xml說明:
    在動態生成一棵樹時就會用到tree.xml文件,它是一個標準的XML文件。
    它由一個外層的tree無屬性元素,再內部包括多個子tree元素組成。

    使用要注意的是:
    如果要使用到中文或漢字的話,最好在文件開始處加入<?xml version="1.0" encoding="gb2312"?>否則會報亂碼的JS錯誤。
    另外就是XML文件中的特殊字符處理,這是使用這個很傷腦殼的地方,大家可以查考xtree所附帶的TREE.XML文件,講得很清楚。
    <?xml version="1.0" encoding="gb2312"?>
    <tree>
    <tree text="Load &quot;tree1.xml&quot; (Should raise error)" src="tree1.xml" toolTip="Tool Tip"/>
    <tree text="Load &quot;tree2.xml&quot; (Should raise error)" src="tree2.xml"
        onerror="this.setText('Load &quot;tree2.xml&quot; (Raised error)')"/>
    <tree text="Loaded Item 1" action="
    <tree text="Loaded Item 2" expanded="true">
       <tree text="Loaded Item 2.1" action="javascript:alert( tree.getSelected().getId() )" id="custom-id"/>
    </tree>
    <tree text="Loaded Item 3 (click to set src)" onaction="this.setSrc(this.getSrc() ? null : 'tree3.xml')"
        onload="this.setText('Loaded Item 3 (changed onload)')"/>
    <tree text="Load treeLARGE.xml" src="treeLARGE.xml" toolTip="XML file with 500 items"/>
    <tree text="Deep nesting" src="nest.xml.pl" />
    </tree>

    其實xtree還提供了兩個JS文件:xtree2.js,xloadtree2.js,里面包括了xtree的工作原理和相關方法及屬性,
    沒事大家可以去看看,對操作樹很有用處的,如:選擇/得到指定結點的信息,得到/修改結點的圖標等等。

    我在使用時由于TOMCAT設置成不允許客戶端緩存,感覺樹大了就有點點慢,所以建議大家使用時允許客戶端緩存,會快很多。

    posted on 2009-07-01 16:10 星期五 閱讀(975) 評論(0)  編輯  收藏 所屬分類: WEB FX

    主站蜘蛛池模板: 亚洲最大无码中文字幕| 无套内射无矿码免费看黄| 亚洲国产二区三区久久| 亚洲精品第一国产综合精品| 四虎影视在线看免费观看| 伊人免费在线观看高清版| 67pao强力打造高清免费| 国产一级一片免费播放i| 亚洲国产综合专区在线电影| 免费成人在线视频观看| 日韩中文无码有码免费视频| 亚洲一区二区电影| 国产精品综合专区中文字幕免费播放 | 亚洲综合中文字幕无线码| 亚洲AV色无码乱码在线观看| 日本一道本不卡免费 | 最好免费观看韩国+日本| 久久亚洲国产精品五月天婷| 精品亚洲国产成人| 日韩精品人妻系列无码专区免费| 亚洲AV伊人久久青青草原| 亚洲激情黄色小说| 日韩吃奶摸下AA片免费观看| 亚洲AV日韩精品久久久久久久| 免费人成动漫在线播放r18| 久久久久亚洲AV无码专区网站| 精品视频一区二区三区免费| 亚洲国产精品线观看不卡| 亚洲视频免费在线观看| 亚洲精品色午夜无码专区日韩| 国产尤物在线视精品在亚洲| 我要看WWW免费看插插视频| 91嫩草亚洲精品| 久久免费看黄a级毛片| 亚洲人成色4444在线观看| 成人激情免费视频| 免费人成又黄又爽的视频在线电影| 国产亚洲免费的视频看 | 日韩中文字幕在线免费观看| 三年片免费观看大全国语| 中文字幕精品无码亚洲字|