<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 星期五 閱讀(973) 評論(0)  編輯  收藏 所屬分類: WEB FX

    主站蜘蛛池模板: 亚洲一级毛片免费观看| 免费无码又爽又刺激一高潮| 日本最新免费网站| 亚洲AV无码1区2区久久| 久久久精品免费国产四虎| 亚洲av永久无码精品网站| 国产精品99精品久久免费| 亚洲成在人天堂一区二区| 永久在线免费观看| 亚洲粉嫩美白在线| 国产免费av片在线播放| 一个人看的免费视频www在线高清动漫| 亚洲国产午夜福利在线播放| 亚洲五月午夜免费在线视频| 亚洲VA中文字幕无码一二三区| 久久久久国色av免费看| 亚洲国产成人久久99精品| 日本一道综合久久aⅴ免费| 人成免费在线视频| 亚洲va中文字幕无码久久不卡| 巨波霸乳在线永久免费视频| 亚洲AV无码一区二区三区电影| 亚洲国产成人爱av在线播放| 在线看片免费人成视频久网下载| 亚洲五月激情综合图片区| 久久精品a一国产成人免费网站| 污污视频免费观看网站| 亚洲成a人片在线观看日本| 57PAO成人国产永久免费视频| 毛片亚洲AV无码精品国产午夜| 亚洲中文字幕无码不卡电影| 免费A级毛片无码A∨中文字幕下载| 亚洲最大的成人网站| 久久精品亚洲男人的天堂 | 国产乱妇高清无乱码免费| 亚洲av丰满熟妇在线播放| 成年女人毛片免费播放视频m| 一级毛片在线免费视频| 亚洲国产美女视频| 亚洲精品字幕在线观看| 毛片免费在线视频|