Jquery原生态实现表格header头随滚动条滚动而滚动


Posted in Javascript onMarch 18, 2014

最近在做一个项目,功能已经实现,突然用户要求表头是浮动的(因为内容在同一页面展示,当滚动时,看不到列头)。由于功能已经实现使用jquery+纯html,为了改动少只能使用jquery原生态实现滚动。

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;">人才培养</td> 
<td colspan="3">职称结构</td> 
<td colspan="2">学位结构</td> 
<td colspan="2">生师比</td> 
<td colspan="2">科研项目</td> 
<td colspan="6">科研成果奖</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;">教学单位</td> 
<td><a href="javascript:void(0);" id="undergraduate">本科生数</a></td> 
<td><a href="javascript:void(0);" id="graduate">研究生数</a></td> 
<td>教职工数</td> 
<td>高级教职工数</td> 
<td>中级教职工数</td> 
<td>博士学位职工数</td> 
<td>硕士学位教职工数</td> 
<td>本科生生师比</td> 
<td>研究生生师比</td> 
<td>纵向项目</td> 
<td>横向项目</td> 
<td>国家级科研成果</td> 
<td>部级科研成果</td> 
<td>省级科研成果</td> 
<td>地级科研成果</td> 
<td>校级科研成果</td> 
<td>其它科研成果</td> 
<td>核心期刊论文</td> 
<td>一类奖励期刊论文</td> 
<td>二类奖励期刊论文</td> 
<td>三类奖励期刊论文</td> 
<td>一般期刊论文</td> 
<td>国外期刊论文</td> 
<td style="border-top:0px;">财务工资</td> 
</tr>

jquery代码:
$(window).scroll(function(){ 
var headers = $(".header");//获取所有表头行,当前的是3行表头 
var yy = $(this).scrollTop();//滚动条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">滚动条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"});//浮动行 
$(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">//由于表头浮动,对应的表内容自动上移,为了浮动表头不会覆盖表内容,设置空行,高度为表头高</span>

注意:多行表头时,单元格不要使用rowspan属性,否则表头会错位。
Javascript 相关文章推荐
使用jQuery轻松实现Ajax的实例代码
Aug 16 Javascript
JS删除数组元素的函数介绍
Mar 27 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
微信小程序  简单实例(阅读器)的实例开发
Sep 29 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
Vuex利用state保存新闻数据实例
Jun 28 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
Mar 06 Javascript
Vue2.0 事件的广播与接收(观察者模式)
Mar 14 Javascript
vue移动端实现下拉刷新
Apr 22 Javascript
一步步教你利用Docker设置Node.js
Nov 20 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 Javascript
Vue.js实现立体计算器
Feb 22 Javascript
使用CSS3的scale实现网页整体缩放
Mar 18 #Javascript
使用jquery实现IE下按backspace相当于返回操作
Mar 18 #Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
Mar 18 #Javascript
js身份证判断方法支持15位和18位
Mar 18 #Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 #Javascript
用js将内容复制到剪贴板兼容浏览器
Mar 18 #Javascript
javascript页面上使用动态时间具体实现
Mar 18 #Javascript
You might like
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
JavaScript面向对象编程
2008/03/02 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python代码调试的几种方法总结
2015/04/15 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
django文档学习之applications使用详解
2018/01/29 Python
python中cPickle类使用方法详解
2018/08/27 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
python安装及变量名介绍详解
2020/12/12 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
文职个人求职信范文
2013/09/23 职场文书
企业精神口号
2014/06/11 职场文书
服装设计专业自荐信
2014/06/17 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
小学生读书笔记
2015/07/01 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers