<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      利用JavaScript實現樹型結構的TreeView類

      說明:這是一個用JAVASCRPT類實現的顯示樹型結構的類。程序的0.5版(第一次編寫的不完美程序)是用JAVASCRIPT和XML DOM實現的,在IE5.5以下的版本中,必須安裝MSXML3.0組件才可以使用。
           該版本的程序采用數組代替了XML DOM,速度更快,也更穩定!
           下一步,我將使用HTML DOM 編寫ListView類,請喜歡的朋友為我提供思路
           這是我第一個寫成的自己比較滿意的作品,歡迎大家多提意見。在此,將源代碼全部公開,喜歡能為大家所使用
          
           類中的方法為:
           add(節點編號,父節點編號,節點文字)
           refresh()   根據數組中的內容更改外觀
          
           類中的屬性為:
           container  一個TD的HTML DOM節點,需要更改TREEVIEW的外觀時使用
           selectedID 當前選中的節點的編號
           data       存貯節點信息的數組
          
           使用方法:
           一般與服務器端的目錄結構表一起使用
           eg: var tv=new TreeView("tv");   這里要注意,由于類中成員對象的事件中,不能識別對象本身,所以必須在類的構造函數中加入代表對象名的字符串
               tv.add(0,1,"跟目錄一");       0代表在跟節點下添加節點
               tv.add(1,2,"子目錄一");      
               tv.refresh();                顯示外觀
              
          注:程序中使用了六張圖片,注意指定它們的路徑,需要的話可以在http://www.fangfa.net/treeview/下下載
      ===================================================*/

      //預先下載圖片
      var ImagePath="./";  //在這里定義默認的圖片路徑

      var img1=new Image();
      img1.src=ImagePath+"close.gif";
      var img2=new Image();
      img2.src=ImagePath+"closeitem.gif";
      var img3=new Image();
      img3.src=ImagePath+"closeselect.gif";
      var img4=new Image();
      img4.src=ImagePath+"open.gif";
      var img5=new Image();
      img5.src=ImagePath+"openitem.gif";
      var img6=new Image();
      img6.src=ImagePath+"openselect.gif";
      //**********************************************************
      //*                     TreeView類                         *
      //* 功能:顯示樹型結構                                      *
      //* 時間:2002-9-27 17:25                                  *
      //* 作者:阿福,happy_afu@sina.com                          *
      //* 版本:1.0                                               *
      //**********************************************************
      //注:數組格式:Array(編號,父節點編號,文本,級數,選擇情況,展開情況,子節點ID列表)
      function TreeView(ObjectVarName)
      {
      //屬性
      this.OverTag=null;                                           //鼠標移上時候的標簽
      this.OverObj=null;                                           //鼠標移上時候的對象
      this.container=CreateTable();                                //創建最初的表格,返回容器對象
      this.selectedID=null;                                        //得到當前選中的對象
      this.data=new Array();
      //方法
      this.CreateRow=CreateRow;                                    //創建行
              //高層函數
      this.add=add;                                                //添加節點
      this.refresh=refresh;                                        //根據XML節點的值來創建TREEVIEW外觀
      this.ADDNODE=ADDNODE;                                        //遞歸方法加入節點
       
      this.add=add;
      function add(ParentID,ID,TEXT)
      {
      //首先檢查數組中是否已經存在這個元素
      var item;
      for(item in this.data)
      {
      if(this.data[item][0]==ID)
      {
      alert("ID為"+ID+"的元素已經存在!");
      return;
      }
      }

      if(ParentID==0)
      {
      this.data[ID]=new Array(ID,ParentID,TEXT,1,false,false,new Array());
      }
      else
      {
      //首先找到父節點
      for(item in this.data)
      {
      if(this.data[item][0]==ParentID)
      {
      //在父節點的ID列表中加入
      this.data[item][6][this.data[item][6].length]=ID;
      var level=this.data[item][3]+1;
      this.data[ID]=new Array(ID,ParentID,TEXT,level,false,false,new Array());
      return;
      }
      }
      //如果沒有找到
      alert("沒有找到ParentID為"+ParentID+"的父節點");
      return;
      }
      }

      //*創建最初的表格,返回容器對象
      function CreateTable() 
      {
      var TableID="maintable";
      var TableText;
      var classText="background-color:#FFFFFF;";  //這里是控制風格的代碼
      TableText="<table border=0 cellpadding=0 cellspacing=0 style='" + classText + "'" +
        " id='" + TableID + "'" +
        "><tbody><tr><td></td></tr></tbody></table>";
      document.write(TableText);
      return document.all[TableID].childNodes[0].childNodes[0].childNodes[0];  //返回最里面單元格的對象
      }


      //*創建一表格,作為外觀的行
      function CreateRow(ID,text,level,IsClose,hasChild,Selected,locate)  //插入一行,在表格中第LOCATE行插入
      {
      //創建table標記
      var table=document.createElement("TABLE");
      table.setAttribute("id","t" + ID);
      table.setAttribute("border","0");
      table.setAttribute("cellpadding","0");
      table.setAttribute("cellspacing","0");
      table.setAttribute("height","16");
      table.setAttribute("cellpadding","0");
      //創建tbaby標記
      var tbody=document.createElement("TBODY");
      //創建tr標記
      var tr =  document.createElement("TR");
      //創建縮進單元格
      var indent=document.createElement("TD");
      indent.setAttribute("width",(level-1)*16+1);
      tr.appendChild(indent);
      //創建圖片單元格
      var imgtd=document.createElement("TD");
      imgtd.setAttribute("width","32");
      //定義節點圖片
      var ImagePath="./";  //定義圖片路徑
      var ImgFC=ImagePath + "close.gif"  //關閉的父節點
      var ImgFO=ImagePath + "open.gif"  //打開的父節點
      var ImgFCS=ImagePath + "closeselect.gif"  //關閉選中的父節點
      var ImgFOS=ImagePath + "openselect.gif" //'打開選中的父節點
      var ImgCOS=ImagePath + "openitem.gif"  //打開選中的子節點
      var ImgCC=ImagePath + "closeitem.gif"   //關閉的子節點
      var img; 
      if(hasChild)  //如果有子節點
      {
      if(IsClose)  //如果是關閉的父節點
      {
      if(Selected){img=ImgFCS;}//如果是關閉未選中的父節點
      else        {img=ImgFC; }//如果是關閉選中的父節點
      }
      else  //如果是打開的父節點
      {
      if(Selected){img=ImgFOS; }//如果是打開未選中的父節點
      else        {img=ImgFO;}//如果是打開選中的父節點
      }
      }
      else  //如果沒有子節點
      {
      if(Selected){img=ImgCOS;}//如果是選中的子節點
      else     {img=ImgCC; }//如果是未選中的子節點
      }
      //創建圖片標記
      var nodeimg=document.createElement("IMG");
      nodeimg.setAttribute("width","32");
      nodeimg.setAttribute("height","16");
      nodeimg.setAttribute("id","i" + ID);
      nodeimg.setAttribute("src",img);
      imgtd.appendChild(nodeimg);
      tr.appendChild(imgtd);
      //創建文本單元格
      var textnode=document.createElement("TD");
      textnode.setAttribute("id","d" + ID);
      textnode.setAttribute("title",text);
      if(text.length>8){text=text.substr(0,8)+"..";}
      textnode.innerText=text;
      tr.appendChild(textnode);
      //下面進行組合
      tbody.appendChild(tr);
      table.appendChild(tbody);
      //下面插入主容器
      if(locate<0||locate>this.container.childNodes.length-1)
      {
      this.container.appendChild(table);
      }
      else
      {
      this.container.insertBefore(table,this.container.childNodes[locate]);
      }
      //下面是控制風格的代碼
      document.all["i"+ID].style.cursor="hand";
      document.all["d"+ID].style.cursor="hand";
      if(Selected==true)
      {
      document.all["d"+ID].style.backgroundColor="#003399";
      document.all["d"+ID].style.color="#FFFFFF";
      }
      }
      //查看下一部分


      Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=258913

      posted @ 2007-10-27 00:18  love .net FrameWork  閱讀(1956)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 国产精品亚洲二区在线播放| 大陆熟妇丰满多毛xxxx| 亚洲午夜精品国产电影在线观看 | 99麻豆久久精品一区二区| 精品无人区卡一卡二卡三乱码| 亚洲AV国产福利精品在现观看| 亚洲欧美国产精品久久久久久久| 国产精品自产拍在线播放| 亚洲国产性夜夜综合| 又粗又硬又黄a级毛片| 99热久久这里只有精品| 国产大陆av一区二区三区| 最新国产精品好看的精品| 亚洲人成人一区二区三区| 成人无码午夜在线观看| 久久综合综合久久综合| 国产午夜精品福利免费不| 日本欧美大码a在线观看| 亚洲精品亚洲人成在线| 成人亚洲精品一区二区三区| 国产剧情视频一区二区麻豆| 国产91精品丝袜美腿在线| 国产AV巨作丝袜秘书| 国产精品伊人久久综合网| 毛片无遮挡高清免费| 欧美性xxxxx极品| 美腿丝袜亚洲综合在线视频| 免费无码一区二区三区蜜桃大| 亚洲欧美人成网站在线观看看| 精品国产一区二区三区国产区| 国产成人亚洲综合app网站| 在线播放深夜精品三级| 久久久久亚洲精品无码系列| 日本一区二区三区专线| 特黄特色的大片观看免费视频| 无码国产玉足脚交极品播放| 高清无码爆乳潮喷在线观看| 宁国市| 欧美日本精品一本二本三区| 亚洲人成网站77777在线观看| 亚洲中文字幕aⅴ天堂|