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中:selected选择器用法实例
Jan 04 Javascript
js控制TR的显示隐藏
Mar 04 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
AngularJS基础 ng-focus 指令简单示例
Aug 01 Javascript
js实现产品缩略图效果
Mar 10 Javascript
javascript  删除select中的所有option的实例
Sep 17 Javascript
JS抛物线动画实例制作
Feb 24 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
vue与原生app的对接交互的方法(混合开发)
Nov 28 Javascript
一起写一个即插即用的Vue Loading插件实现
Oct 31 Javascript
详解Java中String JSONObject JSONArray List转换
Nov 13 Javascript
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
使用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 daddslashes 使用方法介绍
2012/10/26 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
PHP 8新特性简介
2020/08/18 PHP
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
python更新列表的方法
2015/07/28 Python
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python实现ssh批量登录并执行命令
2016/10/25 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
python调用动态链接库的基本过程详解
2019/06/19 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
幼儿园教师教育感言
2014/02/28 职场文书
幽灵公主观后感
2015/06/09 职场文书
CPU不支持Windows11系统怎么办
2021/11/21 数码科技