天天看點

表格行高亮顯示實作為一個 js 類

表格行高亮顯示實作為一個 js 類

< HTML >

表格行高亮顯示實作為一個 js 類

< HEAD >

表格行高亮顯示實作為一個 js 類

< TITLE ></ TITLE >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

< script language = " javascript " >

表格行高亮顯示實作為一個 js 類

// /

表格行高亮顯示實作為一個 js 類

//

表格行高亮顯示實作為一個 js 類

//  功能:這個類使得被附加的表格可以支援行點選高亮

表格行高亮顯示實作為一個 js 類

//  參數:

表格行高亮顯示實作為一個 js 類

//             tbl:                要附加樣式的 table.

表格行高亮顯示實作為一個 js 類

//             selectedRowIndex:    初始高亮的行的索引(從 0 開始). 此參數可省。

表格行高亮顯示實作為一個 js 類

//             hilightColor:        高亮顔色。可省(預設為綠色)

表格行高亮顯示實作為一個 js 類

//

表格行高亮顯示實作為一個 js 類

//  Author:    Neil Chen

表格行高亮顯示實作為一個 js 類

//  Date:    2005-09-05

表格行高亮顯示實作為一個 js 類

//

表格行高亮顯示實作為一個 js 類

// /

表格行高亮顯示實作為一個 js 類

function  TableRowHilighter(tbl, selectedRowIndex, hilightColor) {

表格行高亮顯示實作為一個 js 類

     this .currentRow  =   null ;

表格行高亮顯示實作為一個 js 類

     this .hilightColor  =  hilightColor  ?  hilightColor : 'green';    

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

     if  (selectedRowIndex  !=   null  

表格行高亮顯示實作為一個 js 類

         &&  selectedRowIndex  >=   0  

表格行高亮顯示實作為一個 js 類

         &&  selectedRowIndex  <  tbl.rows.length) 

表格行高亮顯示實作為一個 js 類

    {

表格行高亮顯示實作為一個 js 類

         this .currentRow  =  tbl.rows[selectedRowIndex];        

表格行高亮顯示實作為一個 js 類

        tbl.rows[selectedRowIndex].runtimeStyle.backgroundColor  =   this .hilightColor;

表格行高亮顯示實作為一個 js 類

    }

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

     var  _this  =   this ;

表格行高亮顯示實作為一個 js 類

    tbl.attachEvent( " onclick " , table_onclick);    

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

     function  table_onclick() {

表格行高亮顯示實作為一個 js 類

         var  e  =  event.srcElement;        

表格行高亮顯示實作為一個 js 類

         if  (e.tagName  ==  'TD')

表格行高亮顯示實作為一個 js 類

            e  =  e.parentElement;            

表格行高亮顯示實作為一個 js 類

         if  (e.tagName  !=  'TR')  return ;

表格行高亮顯示實作為一個 js 類

         if  (e  ==  _this.currentRow)  return ;        

表格行高亮顯示實作為一個 js 類

         if  (_this.currentRow)

表格行高亮顯示實作為一個 js 類

            _this.currentRow.runtimeStyle.backgroundColor  =  '';

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

        e.runtimeStyle.backgroundColor  =  _this.hilightColor;

表格行高亮顯示實作為一個 js 類

        _this.currentRow  =  e;

表格行高亮顯示實作為一個 js 類

    }

表格行高亮顯示實作為一個 js 類

}

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

</ script >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

</ HEAD >

表格行高亮顯示實作為一個 js 類

< BODY >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

< table id = " table1 "  border = " 1 "  cellspacing = " 0 "  cellpadding = " 5 " >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td onclick = " alert('a'); " > a </ td >

表格行高亮顯示實作為一個 js 類

         < td > b </ td >

表格行高亮顯示實作為一個 js 類

         < td > c </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > d </ td >

表格行高亮顯示實作為一個 js 類

         < td > e </ td >

表格行高亮顯示實作為一個 js 類

         < td > f </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > g </ td >

表格行高亮顯示實作為一個 js 類

         < td > h </ td >

表格行高亮顯示實作為一個 js 類

         < td > i </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

</ table >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

< br >

表格行高亮顯示實作為一個 js 類

< table id = " table2 "  border = " 1 "  cellspacing = " 0 "  cellpadding = " 5 " >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > a </ td >

表格行高亮顯示實作為一個 js 類

         < td > b </ td >

表格行高亮顯示實作為一個 js 類

         < td > c </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > d </ td >

表格行高亮顯示實作為一個 js 類

         < td > e </ td >

表格行高亮顯示實作為一個 js 類

         < td > f </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > g </ td >

表格行高亮顯示實作為一個 js 類

         < td > h </ td >

表格行高亮顯示實作為一個 js 類

         < td > i </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

</ table >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

< br >

表格行高亮顯示實作為一個 js 類

< table id = " table3 "  border = " 1 "  cellspacing = " 0 "  cellpadding = " 5 " >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > a </ td >

表格行高亮顯示實作為一個 js 類

         < td > b </ td >

表格行高亮顯示實作為一個 js 類

         < td > c </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > d </ td >

表格行高亮顯示實作為一個 js 類

         < td > e </ td >

表格行高亮顯示實作為一個 js 類

         < td > f </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

     < tr >

表格行高亮顯示實作為一個 js 類

         < td > g </ td >

表格行高亮顯示實作為一個 js 類

         < td > h </ td >

表格行高亮顯示實作為一個 js 類

         < td > i </ td >

表格行高亮顯示實作為一個 js 類

     </ tr >

表格行高亮顯示實作為一個 js 類

</ table >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

</ BODY >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

< script >

表格行高亮顯示實作為一個 js 類

//  調用範例

表格行高亮顯示實作為一個 js 類

var  hilighter1  =   new  TableRowHilighter(document.getElementById('table1'),  1 , 'yellow');

表格行高亮顯示實作為一個 js 類

var  hilighter2  =   new  TableRowHilighter(document.getElementById('table2'),  0 , 'lightsteelblue');

表格行高亮顯示實作為一個 js 類

var  hilighter3  =   new  TableRowHilighter(document.getElementById('table3'),  2 );

表格行高亮顯示實作為一個 js 類

</ script >

表格行高亮顯示實作為一個 js 類
表格行高亮顯示實作為一個 js 類

</ HTML >

表格行高亮顯示實作為一個 js 類

其中行點選的事件處理用的是 attachEvent 方法,是以不支援 IE 5.5 以下的浏覽器,以及非 IE 浏覽器。但有一個好處就是該高亮功能不影響 HTML 元素中原有的 onclick 事件處理邏輯。

繼續閱讀