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 相关文章推荐
JavaScript 异步方法队列链实现代码分析
Jun 05 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
Jun 26 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
Apr 17 Javascript
js实现的类似于asp数据字典的数据类型代码实例
Sep 03 Javascript
基于js与flash实现的网站flv视频播放插件代码
Oct 14 Javascript
javascript实现table表格隔行变色的方法
May 13 Javascript
jquery原理以及学习技巧介绍
Nov 11 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
Angularjs 依赖压缩及自定义过滤器写法
Feb 04 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
Jul 24 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 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
分享PHP入门的学习方法
2007/01/02 PHP
又一个php 分页类实现代码
2009/12/03 PHP
php 地区分类排序算法
2013/07/01 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
angular.bind使用心得
2015/10/26 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
MySQL面试题
2014/01/12 面试题
接口可以包含哪些成员
2012/09/30 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
党员民主生活会材料
2014/12/15 职场文书
清明节随笔
2015/08/15 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
Python正则表达式中flags参数的实例详解
2022/04/01 Python