響應(yīng)式表格之固定表頭的簡(jiǎn)單實(shí)現(xiàn)
數(shù)據(jù)展示時(shí),表頭的固定,可以有更好的可讀性。
一、實(shí)現(xiàn)方式:
1、定義2個(gè)表格,一個(gè)absolute固定
<div class="table1-wapper">
<table width="100%" cellpadding="0" cellspacing="0" id="table1">
<tr><th><div>序號(hào)</div></th><th><div>股票名稱</div></th>...</tr>
<tr>...</tr>
</table>
</div>
<div class="fixed-table1-wapper">
<table width="100%" cellpadding="0" cellspacing="0" id="fixed-table1">
</table>
</div>
2、表1<th>復(fù)制,并插入表2
var th_new=$("#table1 tr").eq(0).clone();
$("#fixed-table1").append(th_new);
3、resize()方法,實(shí)時(shí)獲取表1各列<th>寬度
function trResize(){
$("#fixed-table1 th").each(function(){
var num=$(this).index();
var th_width=$("#table1 th").eq(num).width();
$(this).css("width",th_width+"px");
});
}
4、頁(yè)面過小時(shí),表格滾動(dòng)帶表頭滾動(dòng)
$(".table1-wapper").scroll(function(){
var scroll=-$(this).scrollLeft()
$(".fixed-table1-wapper").css("left",scroll+"px");
});
二、注意細(xì)節(jié):
1、寬度自適應(yīng)、去除單元格間隙:
<table width="100%" cellpadding="0" cellspacing="0" ></table>
2、表格線:
直接<td>添加border,會(huì)出現(xiàn)邊線重合;添加屬性:border-collapse: collapse;

3、td寬度:
控制第一行寬度即可 <td width="70"></td> / <td width="20%"></td>
4、奇偶行顏色不同:
css: #table1 tr:nth-child(2n){background-color:#ccc;} ie7兼容性問題
jquery: $("#table1 tr:even").css("background-color","#ccc");
以下為完整代碼:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>表格整理</title>
<link rel="stylesheet" type="text/css" href="css/basic.css">
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<style type="text/css">
html{overflow:auto;}
.table-wapper{width:100%;margin:30px auto;font-size:16px;position:relative;overflow:hidden;}
.table1-wapper{height:200px;overflow-y:auto;}
.table-wapper table{border:1px solid #f00;line-height:2;border-collapse: collapse;white-space:nowrap;}
.table-wapper th{font-size:18px;font-weight:normal;background-color:#dbdbdb;}
.table-wapper td{text-align:center;border:1px solid #f00;}
.fixed-table1-wapper{position:absolute;top:0px;left:0px;background-color:#dbdbdb;}
/*#table1 tr:nth-child(2n){background-color:#ccc;}*/
</style>
</head>
<body >
<div class="table-wapper">
<div class="table1-wapper">
<table width="100%" cellpadding="0" cellspacing="0" id="table1">
<tr>
<th>序號(hào)</th>
<th>股票名稱</th>
<th>股票代碼</th>
<th>成交</th>
<th>漲跌幅</th>
<th>換手率</th>
<th>行業(yè)板塊</th>
</tr>
<tr>
<td>1</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>2</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>3</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>4</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>5</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>6</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>7</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>8</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>9</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
<tr>
<td>10</td>
<td>光明乳業(yè)</td>
<td>600597</td>
<td>15.2</td>
<td>+6.23%</td>
<td>0.12%</td>
<td>食品飲料</td>
</tr>
</table>
</div>
<div class="fixed-table1-wapper">
<table width="100%" cellpadding="0" cellspacing="0" id="fixed-table1">
</table>
</div>
</div>
<script type="text/javascript">
$(function(){<BR> $("#table1 tr:even").css("background-color","#ccc"); //奇偶行顏色
var inner_width=$("#table1").outerWidth();
$(".fixed-table1-wapper").css("width",inner_width+"px");
var th_new=$("#table1 tr").eq(0).clone();
$("#fixed-table1").append(th_new);
})
$(window).resize(function(){
trResize();
});
$(".table1-wapper").scroll(function(){
var scroll=-$(this).scrollLeft()
$(".fixed-table1-wapper").css("left",scroll+"px");
});
function trResize(){
var inner_width=$("#table1").outerWidth();
$(".fixed-table1-wapper").css("width",inner_width+"px");
$("#fixed-table1 th").each(function(){
var num=$(this).index();
var th_width=$("#table1 th").eq(num).width();
//console.log("th_width:"+th_width);
$(this).css("width",th_width+"px");
});
}
</script>
</body>
</html>
以上這篇響應(yīng)式表格之固定表頭的簡(jiǎn)單實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js左側(cè)多級(jí)菜單動(dòng)態(tài)的解決方案
實(shí)現(xiàn)的效果很簡(jiǎn)單,就是點(diǎn)一下顯示,再點(diǎn)一下就隱藏,只不過是多了幾級(jí)的問題。好,現(xiàn)在來說說我的設(shè)計(jì)思路,首先從第一級(jí)別開始,添加如下代碼2010-02-02
JavaScript做大整數(shù)加法計(jì)算的代碼實(shí)現(xiàn)
這篇文章主要帶大家去了解前端如何做大整數(shù)加法計(jì)算,文中通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09
JS獲取url參數(shù),JS發(fā)送json格式的POST請(qǐng)求方法
下面小編就為大家分享一篇JS獲取url參數(shù),JS發(fā)送json格式的POST請(qǐng)求方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03
Javascript前端下載后臺(tái)傳來的文件流代碼實(shí)例
這篇文章主要介紹了Javascript前端下載后臺(tái)傳來的文件流代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
微信小程序怎么加入JavaScript腳本,做出動(dòng)態(tài)效果
這篇文章主要介紹了教大家為小程序加入?JavaScript?腳本,做出動(dòng)態(tài)效果,以及如何跟用戶互動(dòng)。學(xué)會(huì)了腳本,就能做出復(fù)雜的頁(yè)面了。需要的朋友可以參考下2022-12-12
JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名網(wǎng)頁(yè)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名網(wǎng)頁(yè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
從柯里化分析JavaScript重要的高階函數(shù)實(shí)例
這篇文章主要為大家介紹了從柯里化分析JavaScript重要的高階函數(shù)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
Java中int與integer的區(qū)別(基本數(shù)據(jù)類型與引用數(shù)據(jù)類型)
這篇文章主要介紹了int與integer的區(qū)別(基本數(shù)據(jù)類型與引用數(shù)據(jù)類型),簡(jiǎn)單的說 int 是基本數(shù)據(jù)類型,integer 是引用數(shù)據(jù)類型,具體區(qū)別詳解大家參考下本文2017-02-02
js移動(dòng)焦點(diǎn)到最后位置的簡(jiǎn)單方法
下面小編就為大家?guī)硪黄猨s移動(dòng)焦點(diǎn)到最后位置的簡(jiǎn)單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11

