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

最近在做一个项目,功能已经实现,突然用户要求表头是浮动的(因为内容在同一页面展示,当滚动时,看不到列头)。由于功能已经实现使用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属性,否则表头会错位。

(0)

相关推荐

  • jQuery mobile的header和footer在点击屏幕的时候消失的解决办法

    jQuery Mobile简介 jQuery Mobile 是创建移动 web 应用程序的框架. jQuery Mobile 适用于所有流行的智能手机和平板电脑. jQuery Mobile 使用 HTML5 和 CSS3 通过尽可能少的脚本对页面进行布局. 给header和footer添加 data-position="fixed" 和 data-tap-toggle="false"即可,代码如下: <div data-role="footer&q

  • jQuery.ajax 跨域请求webapi设置headers的解决方案

    解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头.正确响应options请求,正确设置 JavaScript端需要设置的headers信息 方能实现. 1.第一步 服务端设置响应头,在webapi的web.config做如下设置 <system.webServer> <httpProtocol> <!--跨域配置开始--> <customHeaders> <add name="Access-Control-All

  • jQuery中:header选择器用法实例

    本文实例讲述了jQuery中header选择器用法.分享给大家供大家参考.具体分析如下: 此选择器能够匹配标题元素,即(h1-h6). 语法结构: 复制代码 代码如下: $(":header") 此选择器一般也要和其他选择器配合使用,比如类选择器和元素选择器等等.例如: 复制代码 代码如下: $(".qiantai:header").css("color","blue") 以上代码能够将类名为qiantai的标题元素中的字体颜

  • jQuery在header中设置请求信息的方法

    jquery是js的类库,js本身不能操作header,因为js是在浏览器加载页面过程中才开始执行的header需要服务器端执行操作 如果是ajax,是可以设置header $.ajax({ url: "", data: {}, type: "GET", beforeSend: function(xhr){xhr.setRequestHeader('X-Test-Header', 'test-value');},//这里设置header success: funct

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

    最近在做一个项目,功能已经实现,突然用户要求表头是浮动的(因为内容在同一页面展示,当滚动时,看不到列头).由于功能已经实现使用jquery+纯html,为了改动少只能使用jquery原生态实现滚动. html表头代码: 复制代码 代码如下: <tr class="header" > <td width="150" style="border-bottom:0px;"> </td> <td colspan=

  • jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例

    本文实例讲述了jQuery实现Table表格隔行变色及高亮显示当前选择行效果.分享给大家供大家参考,具体如下: 最近客户要求高亮选择列表的功能,于是顺便做了个,作为记录. 前台代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=

  • jQuery实现HTML表格单元格的合并功能

    本文实例讲述了jQuery实现HTML表格单元格合并的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 合并前: 合并后: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.

  • jQuery实现的表格前端排序功能示例

    本文实例讲述了jQuery实现的表格前端排序功能.分享给大家供大家参考,具体如下: 表格前端按列排序 依赖jQuery(本例使用jQuery-1.8.2) 1.初始化方法 (function($){ //插件 $.extend($,{ //命名空间 sortTable:{ sort:function(tableId,Idx){ var table = document.getElementById(tableId); var tbody = table.tBodies[0]; var tr =

  • jquery.tableSort.js表格排序插件使用方法详解

    本文实例为大家分享了jquery.tableSort.js表格排序的具体代码,供大家参考,具体内容如下 1.一定要引jQuery包,所有jq插件都是基于jQuery包的 2.如果想指定哪一栏不排序这样写 $("#mytable").tablesorter({headers:{5:{sorter:false}}}); 第5列的sorter为false就OK了 参考:http://www.jb51.net/article/105217.htm <!DOCTYPE html> &

  • jQuery实现的表格展开伸缩效果实例

    本文实例讲述了jQuery实现的表格展开伸缩效果.分享给大家供大家参考,具体如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> table { border:0;border-collapse:collapse;} td {

  • jQuery轻松实现表格的隔行变色和点击行变色的实例代码

    jQuery轻松实现表格的隔行变色和点击行变色的实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m

  • 实例讲解DataTables固定表格宽度(设置横向滚动条)

    当表格的列比较多的时候,可能就需要固定表格的宽度了,默认的100%宽已经不适应了.默认的100%宽要实现改变窗口大小也100%的话,在table元素上添加width="100%",至于css的100%为什么不生效,原因未知. 下面就说说设置如何给datatables设置固定的宽度. 1.html代码 <div id="tableArea"> <table id="userTable" class="display ta

  • jQuery实现调整表格单列顺序完整实例

    本文实例讲述了jQuery实现调整表格单列顺序的方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html

  • jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码

    本文实例讲述了jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果的方法.分享给大家供大家参考,具体如下: 此插件旨在实现表格隔行变色,且鼠标移动在表格的某一行上时,该行能高亮显示.整体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htm

随机推荐