• 游客 您好:

    目前「IT人巴啦啦天地」需要數個專家協助發表文章。

    只要您願意,可以直接與我 ihstat 連絡。我將會給你「專家」身份。

    成為「專家」有什麼好處?目前暫時還沒有。我也只願意提供最多10名會員有這樣的身份。

    他可能可以成為未來非常高的權限。(除了管理) 也可以獲得由浩瀚星空站提供的資源。

  • 本站不接受任何被列入廣告發文黑名單的電子信箱。如您無法註冊,可能是您使用的電子信箱為廣告黑名單信箱。正常的信箱都是可以正常註冊。

    如果您可以証實您的信箱非廣告黑名單,請自行來信 hstaryoching#gmail.com 申請。

    申請請留下您的正統名稱及信箱,並告知從何得知及想進來的理由。

  • 浩瀚星空站已經重新整合並新增新的開發小站天地。

    採用新版的xenforo 2.2.3 做為最新的站點系統。

    中文搜尋已在本站啟用成功,歡迎多加測試看看

    有問題請再回報

教學 表格標頭置頂應用處理

ihstar

管理員
管理成員
因為工作上的需要,所以會需要表格置頂。
但是用google找到的都不是我要的。想來想去,只好用這一招了。

以下是我處理的方式,首先我是預設第一個tr內容就是標頭了。
所以我先做如下的處理
HTML:
$("#myTable tr:first td").each(function(i){
        f_div += '<div class="f_div" style="float:left;width:'+$(this).width()+'px;">'+$(this).html()+'</div>';
    });
    $("#myTable").before($("<div class='tab_head'>"+f_div+"</div>"))
先將其td的寬度取出並建立好一個div出來。你可以先讓他顯示來比對原標頭長度是否正確

然後再做捲軸的判斷處理

JavaScript:
$(window).scroll(function(){
        st = $(this).scrollTop()
        h = $("#myTable").offset();
        if(st>h.top){     
            $(".tab_head").show();
        }else{         
            $(".tab_head").hide();
        }     
    });


然後css對應如下
CSS:
.tab_head{
    position: fixed;
    top:0px;
    z-index: 99;
    display: none;
}
.tab_head .f_div{
    /* 這邊的內容依照你原來的標頭td的css設定就好,這樣就不會跑掉*/
}
/*以下是我配合線條使用的,防止因線條的關係對應不準。可視情況使用。
.tab_head .f_div:first-child{
    border-width:0px 0px 1px 1px;
}
.tab_head .f_div:last-child{
    border-width:0px 0px 1px 1px;
}

這樣就大功告成了。
適用於任何表格上處理。如果標頭是th的話。也只要將td改成th就行了。
重點在於要取得其寬度好做出一個浮動的div。當表格的標頭消失在頂端就將其出現就行了

原本是想將f_div的css用copy的方式建立。不過後來想想比較麻煩。
所以就交給使用者自行去定義了。畢竟各使用者的table的定義不同。
 
頂部