Jquery原生態(tài)實(shí)現(xiàn)表格header頭隨滾動(dòng)條滾動(dòng)而滾動(dòng)
更新時(shí)間:2014年03月18日 17:49:25 作者:
表頭是浮動(dòng)的,因?yàn)閮?nèi)容在同一頁面展示,當(dāng)滾動(dòng)時(shí),看不到列頭,為了改動(dòng)少只能使用jquery原生態(tài)實(shí)現(xiàn)滾動(dòng)
最近在做一個(gè)項(xiàng)目,功能已經(jīng)實(shí)現(xiàn),突然用戶要求表頭是浮動(dòng)的(因?yàn)閮?nèi)容在同一頁面展示,當(dāng)滾動(dòng)時(shí),看不到列頭)。由于功能已經(jīng)實(shí)現(xiàn)使用jquery+純html,為了改動(dòng)少只能使用jquery原生態(tài)實(shí)現(xiàn)滾動(dòng)。
html表頭代碼:
<tr class="header" >
<td width="150" style="border-bottom:0px;"> </td>
<td colspan="2" style="border-bottom:0px;"> </td>
<td colspan="7">師資力量</td>
<td colspan="14">科研</td>
<td style="border-bottom:0px;"> </td>
</tr>
<tr class="header">
<td width="150" style="border-top:0px;border-bottom:0px;"> </td>
<td colspan="2" style="border-top:0px;">人才培養(yǎng)</td>
<td colspan="3">職稱結(jié)構(gòu)</td>
<td colspan="2">學(xué)位結(jié)構(gòu)</td>
<td colspan="2">生師比</td>
<td colspan="2">科研項(xiàng)目</td>
<td colspan="6">科研成果獎(jiǎng)</td>
<td colspan="6">科研論文</td>
<td style="border-top:0px;border-bottom:0px;"> </td>
</tr>
<tr class="header">
<td width="150" style="border-top:0px;">教學(xué)單位</td>
<td><a href="javascript:void(0);" id="undergraduate">本科生數(shù)</a></td>
<td><a href="javascript:void(0);" id="graduate">研究生數(shù)</a></td>
<td>教職工數(shù)</td>
<td>高級(jí)教職工數(shù)</td>
<td>中級(jí)教職工數(shù)</td>
<td>博士學(xué)位職工數(shù)</td>
<td>碩士學(xué)位教職工數(shù)</td>
<td>本科生生師比</td>
<td>研究生生師比</td>
<td>縱向項(xiàng)目</td>
<td>橫向項(xiàng)目</td>
<td>國家級(jí)科研成果</td>
<td>部級(jí)科研成果</td>
<td>省級(jí)科研成果</td>
<td>地級(jí)科研成果</td>
<td>校級(jí)科研成果</td>
<td>其它科研成果</td>
<td>核心期刊論文</td>
<td>一類獎(jiǎng)勵(lì)期刊論文</td>
<td>二類獎(jiǎng)勵(lì)期刊論文</td>
<td>三類獎(jiǎng)勵(lì)期刊論文</td>
<td>一般期刊論文</td>
<td>國外期刊論文</td>
<td style="border-top:0px;">財(cái)務(wù)工資</td>
</tr>
jquery代碼:
$(window).scroll(function(){
var headers = $(".header");//獲取所有表頭行,當(dāng)前的是3行表頭
var yy = $(this).scrollTop();//滾動(dòng)條top值
if(yy>55){
yy = yy-55;
}
var height1 = yy;//第一行top值
var height2 = $(headers[0]).height()+yy;<span style="font-family:Arial,Helvetica,sans-serif">//第一行top值,第一行行高與</span><span style="font-family:Arial,Helvetica,sans-serif">滾動(dòng)條top值之和</span><span style="font-family:Arial,Helvetica,sans-serif">
</span> var height3 = $(headers[0]).height()+$(headers[1]).height()+yy;
$(headers[0]).css({"position":"absolute",top:height1+"px"});//浮動(dòng)行
$(headers[1]).css({"position":"absolute",top:height2+"px"});
$(headers[2]).css({"position":"absolute",top:height3+"px"});
[javascript] view plaincopy
$("#hiddenTd").height($(headers[0]).height()+$(headers[1]).height()+$(headers[2]).height());<span style="font-family:Arial,Helvetica,sans-serif">//由于表頭浮動(dòng),對(duì)應(yīng)的表內(nèi)容自動(dòng)上移,為了浮動(dòng)表頭不會(huì)覆蓋表內(nèi)容,設(shè)置空行,高度為表頭高</span>
注意:多行表頭時(shí),單元格不要使用rowspan屬性,否則表頭會(huì)錯(cuò)位。
html表頭代碼:
復(fù)制代碼 代碼如下:
<tr class="header" >
<td width="150" style="border-bottom:0px;"> </td>
<td colspan="2" style="border-bottom:0px;"> </td>
<td colspan="7">師資力量</td>
<td colspan="14">科研</td>
<td style="border-bottom:0px;"> </td>
</tr>
<tr class="header">
<td width="150" style="border-top:0px;border-bottom:0px;"> </td>
<td colspan="2" style="border-top:0px;">人才培養(yǎng)</td>
<td colspan="3">職稱結(jié)構(gòu)</td>
<td colspan="2">學(xué)位結(jié)構(gòu)</td>
<td colspan="2">生師比</td>
<td colspan="2">科研項(xiàng)目</td>
<td colspan="6">科研成果獎(jiǎng)</td>
<td colspan="6">科研論文</td>
<td style="border-top:0px;border-bottom:0px;"> </td>
</tr>
<tr class="header">
<td width="150" style="border-top:0px;">教學(xué)單位</td>
<td><a href="javascript:void(0);" id="undergraduate">本科生數(shù)</a></td>
<td><a href="javascript:void(0);" id="graduate">研究生數(shù)</a></td>
<td>教職工數(shù)</td>
<td>高級(jí)教職工數(shù)</td>
<td>中級(jí)教職工數(shù)</td>
<td>博士學(xué)位職工數(shù)</td>
<td>碩士學(xué)位教職工數(shù)</td>
<td>本科生生師比</td>
<td>研究生生師比</td>
<td>縱向項(xiàng)目</td>
<td>橫向項(xiàng)目</td>
<td>國家級(jí)科研成果</td>
<td>部級(jí)科研成果</td>
<td>省級(jí)科研成果</td>
<td>地級(jí)科研成果</td>
<td>校級(jí)科研成果</td>
<td>其它科研成果</td>
<td>核心期刊論文</td>
<td>一類獎(jiǎng)勵(lì)期刊論文</td>
<td>二類獎(jiǎng)勵(lì)期刊論文</td>
<td>三類獎(jiǎng)勵(lì)期刊論文</td>
<td>一般期刊論文</td>
<td>國外期刊論文</td>
<td style="border-top:0px;">財(cái)務(wù)工資</td>
</tr>
jquery代碼:
復(fù)制代碼 代碼如下:
$(window).scroll(function(){
var headers = $(".header");//獲取所有表頭行,當(dāng)前的是3行表頭
var yy = $(this).scrollTop();//滾動(dòng)條top值
if(yy>55){
yy = yy-55;
}
var height1 = yy;//第一行top值
var height2 = $(headers[0]).height()+yy;<span style="font-family:Arial,Helvetica,sans-serif">//第一行top值,第一行行高與</span><span style="font-family:Arial,Helvetica,sans-serif">滾動(dòng)條top值之和</span><span style="font-family:Arial,Helvetica,sans-serif">
</span> var height3 = $(headers[0]).height()+$(headers[1]).height()+yy;
$(headers[0]).css({"position":"absolute",top:height1+"px"});//浮動(dòng)行
$(headers[1]).css({"position":"absolute",top:height2+"px"});
$(headers[2]).css({"position":"absolute",top:height3+"px"});
[javascript] view plaincopy
$("#hiddenTd").height($(headers[0]).height()+$(headers[1]).height()+$(headers[2]).height());<span style="font-family:Arial,Helvetica,sans-serif">//由于表頭浮動(dòng),對(duì)應(yīng)的表內(nèi)容自動(dòng)上移,為了浮動(dòng)表頭不會(huì)覆蓋表內(nèi)容,設(shè)置空行,高度為表頭高</span>
注意:多行表頭時(shí),單元格不要使用rowspan屬性,否則表頭會(huì)錯(cuò)位。
您可能感興趣的文章:
- jquery實(shí)現(xiàn)表格無縫滾動(dòng)
- asp.net+jquery滾動(dòng)滾動(dòng)條加載數(shù)據(jù)的下拉控件
- jquery滾動(dòng)組件(vticker.js)實(shí)現(xiàn)頁面動(dòng)態(tài)數(shù)據(jù)的滾動(dòng)效果
- 基于jquery實(shí)現(xiàn)頁面滾動(dòng)到底自動(dòng)加載數(shù)據(jù)的功能
- js/jquery控制頁面動(dòng)態(tài)加載數(shù)據(jù) 滑動(dòng)滾動(dòng)條自動(dòng)加載事件的方法
- jquery滾動(dòng)加載數(shù)據(jù)的方法
- 使用jQuery或者原生js實(shí)現(xiàn)鼠標(biāo)滾動(dòng)加載頁面新數(shù)據(jù)
- Jquery公告滾動(dòng)+AJAX后臺(tái)得到數(shù)據(jù)
- 拉動(dòng)滾動(dòng)條加載數(shù)據(jù)的jquery代碼
- jQuery實(shí)現(xiàn)表格行數(shù)據(jù)滾動(dòng)效果
相關(guān)文章
使用jQuery輕松實(shí)現(xiàn)Ajax的實(shí)例代碼
在Asp.Net的MVC架構(gòu)中使用jQuery是一件很容易的事情,而使用jQuery實(shí)現(xiàn)Ajax更加簡單。2010-08-08jquery實(shí)現(xiàn)定時(shí)自動(dòng)輪播特效
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)定時(shí)自動(dòng)輪播特效,講解內(nèi)容很詳細(xì),條理清晰,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-12-12jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過顯示動(dòng)畫邊框特效
本文主要介紹了jQuery鼠標(biāo)經(jīng)過顯示動(dòng)畫邊框特效的實(shí)例代碼。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03jquery中show()、hide()和toggle()用法實(shí)例
這篇文章主要介紹了jquery中show()、hide()和toggle()用法,以實(shí)例形式分析了show()、hide()和toggle()在顯示、隱藏及切換等應(yīng)用技巧,需要的朋友可以參考下2015-01-01JQuery日歷插件My97DatePicker日期范圍限制
這篇文章主要介紹了JQuery日歷插件My97DatePicker日期范圍限制的相關(guān)資料,需要的朋友可以參考下2016-01-01jQuery+CSS3+Html5實(shí)現(xiàn)彈出層效果實(shí)例代碼(附源碼下載)
款Jquery+CSS3+Html5實(shí)現(xiàn)彈出層效果,應(yīng)用范圍很廣泛,比如用在消息提示、彈出層顯示內(nèi)容、彈出層登錄等,帶遮罩效果,非常實(shí)用,對(duì)此功能感興趣的朋友可以參考下本地代碼2016-05-05jquery實(shí)現(xiàn)簡單自動(dòng)輪播圖效果
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)簡單自動(dòng)輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07