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 29 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
jquery的live使用注意事项
Feb 18 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
Oct 26 Javascript
AngularJS监听路由的变化示例代码
Sep 23 Javascript
JS中常用的正则表达式
Sep 29 Javascript
使用Require.js封装原生js轮播图的实现代码
Jun 15 Javascript
Angular2使用vscode断点调试ts文件的方法
Dec 13 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
Mar 08 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
详解JavaScript的变量
Apr 04 Javascript
小程序云函数调用API接口的方法
May 17 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之apc
2013/05/15 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
微信小程序多张图片上传功能
2017/06/07 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
python 实时遍历日志文件
2016/04/12 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
python设置中文界面实例方法
2020/10/27 Python
社区学习十八大感想
2014/01/22 职场文书
工程负责人任命书
2014/06/06 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
团组织推优材料
2014/12/29 职场文书
升学宴家长致辞
2015/07/27 职场文书
小学作文之描写天气
2019/08/15 职场文书
实现一个简单得数据响应系统
2021/11/11 Javascript
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL