ASP.NET頁面的一點小東東(二)

javascript實現table摺疊

 function ShowTable(imgCtrl)
        {
              var ImgPlusScr ="../Images/icon_expandall.gif" ;       // pic Plus  +
              var ImgMinusScr ="../Images/icon_collapseall.gif" ;     // pic Minus -
              var TableID = imgCtrl.id.replace("Img","Table");//將當前傳進來的圖片名稱替換成對應的table+圖片的編號
              var className;
              var objectFullName;
              var tableCtrl;
              objectFullName = <%=Table4.ClientID%>.id;      //獲取服務器控件table的id
          
              className = objectFullName.substring(0,objectFullName.indexOf("Table4")-1);//獲取除tablename以外的控件名稱
             
              tableCtrl = document.all.item(className.substr(0,className.length)+"_"+TableID);        //根據替換後的TableID來拼裝字符串,得到該table在頁面生成的控件名稱,然後通過documnet對象來獲取頁面對象                    
              if(imgCtrl.src.indexOf("icon_expandall") != -1)   //如果在獲取到的控件路徑裏找到了"icon_expandall"字符串,則將table的style屬性設爲“”,並將圖片替換成收起的標識
              {
                tableCtrl.style.display ="";
                imgCtrl.src = ImgMinusScr ;
              }
              else                              //如果在獲取到的控件路徑裏找不到"icon_expandall"字符串,則將table的style屬性設爲none不顯示錶格的內容,並將圖片替換成展開的標識
              {
                tableCtrl.style.display ="none";
                imgCtrl.src = ImgPlusScr ;  
              }
        }
    </script>

 

上面的註釋已經很清楚啦!

不過還是要整理,擴展一下.

ImgPlusScr ,ImgMinusScr :這兩個變量是用來存儲頁面圖片路徑的,爲後面的判斷提供條件.

TableID :用來獲取表的名稱.

className:獲取類名,在頁面生成的html文件中,aspx會將此類名加上"_tableID"顯示.

objectFullName:取一個Table的全名,這個表是頁面中的任意表,這裏主要是爲獲取calssname提供依據.

tableCtrl:獲取一個table控件

其實把這些個變量搞清楚了,要做什麼就不言而喻啦!

按照執行順利,我們一步一步分析.

1、給各變量賦值.

2、獲取對象全名.

3、獲取table對象的類名.

4、用剛獲取到的類名+tableID組成調用此方法的table控件名稱.再通過documnet對象獲取對應的table對象,當然這裏的tableID直接關係到頁面的表,在取此在tableID裏應找到對應的表。

5、對傳入的img對象圖片路徑進行判斷,用來確定是展開還是重疊。根據不同的結果做出 tableCtrl.style.display參數據的配置,爲“”是顯示對應表,爲“none”是隱藏對應表。這裏也會對相應的圖片進行切換。

 

以前爲常見的一種摺疊頁面內容的做法。

朋友們如果有更好的應用,希望多多指教。Thanks!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章