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 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
使用jQuery validate 验证注册表单实例演示
Mar 25 Javascript
JS 有趣的eval优化输入验证实例代码
Sep 22 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
Dec 06 Javascript
禁止IE用右键的JS代码
Dec 30 Javascript
IE中鼠标经过option触发mouseout的解决方法
Jan 29 Javascript
Angular动态添加、删除输入框并计算值实例代码
Mar 29 Javascript
最基础的vue.js双向绑定操作
Aug 23 Javascript
浅析微信扫码登录原理(小结)
Oct 29 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
Sep 12 Javascript
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
JavaScript流程控制(分支)
Dec 06 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数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
php封装的验证码类分享
2017/02/26 PHP
JS模块与命名空间的介绍
2013/03/22 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
JavaScript实现点击出现子菜单效果
2021/02/08 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
python selenium循环登陆网站的实现
2019/11/04 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
女大学生自我鉴定
2013/12/09 职场文书
ktv收银员岗位职责
2013/12/16 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
调解员先进事迹材料
2014/02/07 职场文书
运动会方阵解说词
2014/02/12 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
热门专业求职信
2014/05/24 职场文书
学习十八届四中全会依法治国心得体会
2014/11/03 职场文书
自我工作评价范文
2015/03/06 职场文书