Table凍結多行表頭

jopen 10年前發布 | 37K 次閱讀 Table 前端技術

Table凍結多行表頭

       <script type="text/javascript">
            function fixupFirstRow(tab,num) {   
                var div=tab.parentNode;   
                if(div.className.toLowerCase()=="freezediv"){  
                    for(var i=0;i<num;i++){
                        tab.rows[i].style.zIndex="1";
                        tab.rows[i].style.position="relative"; 
                    }
                    var tr;
                    div.onscroll = function(){ 
                        for(var j=0;j<num;j++){
                            tr = tab.rows[j];
                            tr.style.top = this.scrollTop-(this.scrollTop==0?1:2);   
                            tr.style.left=-1; 
                        }  
                    } 
                }    
            } 

            window.onload = function(){   
                var tab=document.getElementById("freezedivTable"); 
                if(tab){
                   //4 -- 表示凍結四行
                   fixupFirstRow(tab,4);
                }   
            }   
        </script>


html代碼

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <script type="text/javascript">
            function fixupFirstRow(tab,num) {   
                var div=tab.parentNode;   
                if(div.className.toLowerCase()=="freezediv"){  
                    for(var i=0;i<num;i++){
                        tab.rows[i].style.zIndex="1";
                        tab.rows[i].style.position="relative"; 
                    }
                    var tr;
                    div.onscroll = function(){ 
                        for(var j=0;j<num;j++){
                            tr = tab.rows[j];
                            tr.style.top = this.scrollTop-(this.scrollTop==0?1:2);   
                            tr.style.left=-1; 
                        }  
                    } 
                }    
            } 

            window.onload = function(){   
                var tab=document.getElementById("freezedivTable"); 
                if(tab){
                   //4 -- 表示凍結四行
                   fixupFirstRow(tab,4);
                }   
            }   
        </script>
    </head>
    <body>
        <div class="freezediv" style="width:100%;height:150px;overflow:auto;">
            <table id="freezedivTable" style="width:100%;" border="1">
                <tr bgcolor="white">
                    <th width="50%" colspan="2">序號</th>
                    <th width="50%" colspan="2">內容</th>
                </tr>
                <tr bgcolor="white">
                    <th width="25%">序號</th>
                    <th width="25%">內容</th>
                    <th width="25%">序號</th>
                    <th width="25%">內容</th>
                </tr>
                <tr bgcolor="white">
                    <td>1</td>
                    <td>內容</td>
                    <td>11</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>2</td>
                    <td>內容</td>
                    <td>22</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>3</td>
                    <td>內容</td>
                    <td>33</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>4</td>
                    <td>內容</td>
                    <td>44</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>5</td>
                    <td>內容</td>
                    <td>55</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>6</td>
                    <td>內容</td>
                    <td>66</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>7</td>
                    <td>內容</td>
                    <td>77</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>8</td>
                    <td>內容</td>
                    <td>88</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>9</td>
                    <td>內容</td>
                    <td>99</td>
                    <td>內容</td>
                </tr>
                <tr bgcolor="white">
                    <td>10</td>
                    <td>內容</td>
                    <td>1010</td>
                    <td>內容</td>
                </tr>
            </table>
        </div>
    </body>
</html>


 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!