<html>
<head>
<title>Test</title>
<style type="text/css">
.divClass{
height:400px;
width:25%;
overflow:auto;
}
.divHeadClass{
overflow:hidden;
}
</style>
</head>
<body>
<div id="htmlDivID" class="divClass">
<table style="word-break: break-all;background-color:#7f9db9;" border="0" cellspacing="1" cellpadding="0" >
<thead>
<tr style="background-color:#dfdfdf;">
<th width="20%" rowspan="1" colspan="1">Head</th>
<th width="5%" rowspan="1" colspan="1">Count</th>
</tr>
</thead>
<tbody>
<tr>
<td width="20%" rowspan="1">head0</td>
<td width="5%" rowspan="1">0</td>
</tr>
<tr>
<td width="20%" rowspan="1">head50</td>
<td width="5%" rowspan="1">50</td>
</tr>
<tr>
<td width="20%" rowspan="1">head05</td>
<td width="5%" rowspan="1">05</td>
</tr>
<tr>
<td width="20%" rowspan="1">head40</td>
<td width="5%" rowspan="1">40</td>
</tr>
<tr>
<td width="20%" rowspan="1">head04</td>
<td width="5%" rowspan="1">04</td>
</tr>
<tr>
<td width="20%" rowspan="1">head70</td>
<td width="5%" rowspan="1">70</td>
</tr>
<tr>
<td width="20%" rowspan="1">head07</td>
<td width="5%" rowspan="1">07</td>
</tr>
<tr>
<td width="20%" rowspan="1">head10</td>
<td width="5%" rowspan="1">01</td>
</tr>
<tr>
<td width="20%" rowspan="1">head110</td>
<td width="5%" rowspan="1">011</td>
</tr>
<tr>
<td width="20%" rowspan="1">head02</td>
<td width="5%" rowspan="1">02</td>
</tr>
<tr>
<td width="20%" rowspan="1">head03</td>
<td width="5%" rowspan="1">03</td>
</tr>
<tr>
<td width="20%" rowspan="1">head066</td>
<td width="5%" rowspan="1">066</td>
</tr>
<tr>
<td width="20%" rowspan="1">head660</td>
<td width="5%" rowspan="1">60</td>
</tr>
<tr>
<td width="20%" rowspan="1">head055</td>
<td width="5%" rowspan="1">055</td>
</tr>
<tr>
<td width="20%" rowspan="1">head0</td>
<td width="5%" rowspan="1">0</td>
</tr>
<tr>
<td width="20%" rowspan="1">head0</td>
<td width="5%" rowspan="1">0</td>
</tr>
<tr>
<td width="20%" rowspan="1">head022</td>
<td width="5%" rowspan="1">022</td>
</tr>
<tr>
<td width="20%" rowspan="1">head220</td>
<td width="5%" rowspan="1">220</td>
</tr>
<tr>
<td width="20%" rowspan="1">head055</td>
<td width="5%" rowspan="1">055</td>
</tr>
<tr>
<td width="20%" rowspan="1">head034</td>
<td width="5%" rowspan="1">034</td>
</tr>
<tr>
<td width="20%" rowspan="1">head023</td>
<td width="5%" rowspan="1">023</td>
</tr>
<tr>
<td width="20%" rowspan="1">head021</td>
<td width="5%" rowspan="1">021</td>
</tr>
<tr>
<td width="20%" rowspan="1">head210</td>
<td width="5%" rowspan="1">210</td>
</tr>
<tr>
<td width="20%" rowspan="1">head012</td>
<td width="5%" rowspan="1">012</td>
</tr>
<tr>
<td width="20%" rowspan="1">head120</td>
<td width="5%" rowspan="1">120</td>
</tr>
<tr>
<td width="20%" rowspan="1">head0111</td>
<td width="5%" rowspan="1">0111</td>
</tr>
<tr>
<td width="20%" rowspan="1">head1110</td>
<td width="5%" rowspan="1">1110</td>
</tr>
</tbody>
</table>
</div>
</body>
<script language="javascript">
window.onload = function(){
//获得存放表格的DIV
var htmlDivDom = document.getElementById("htmlDivID");
//获得表格的头部的偏移高度
var theadHeight = htmlDivDom.children[0].children[0].offsetHeight;
//创建可见的头部DIV
var divHeadDom = document.createElement("<div class=\"divHeadClass\"></div>");
//将创建的头部添加到表格DIV的前面
htmlDivDom.parentNode.insertBefore(divHeadDom,htmlDivDom);
//并设置其高度为表格头部的偏移高度
divHeadDom.style.height = theadHeight;
//克隆表格
var htmlDivCloneDom = htmlDivDom.children[0].cloneNode(true);
//将克隆表格添加到头部DIV中
divHeadDom.appendChild(htmlDivCloneDom);
//设置表格的顶边距
htmlDivDom.children[0].style.marginTop = - theadHeight;
//设置头部DIV的宽度:由表格DIV的偏移宽度-滚动条的宽度
if(htmlDivDom.scrollHeight > htmlDivDom.clientHeight){
var scrollWidth = getScrollWidth();
divHeadDom.style.width = htmlDivDom.offsetWidth - scrollWidth;
}else{
divHeadDom.style.width = htmlDivDom.offsetWidth;
}
var rows = htmlDivDom.children[0].children[1].getElementsByTagName("tr");
for(var i =0,len=rows.length;i < len;i++){
if(i % 2 == 0){
rows[i].style.backgroundColor = "#f9f9f9";
}else{
rows[i].style.backgroundColor = "#e5f1ff"; }
}
} //创建一个DIV,添加到页面中,先得到没有滚动条的宽度,再得到有滚动条的宽度,两者的差就是滚动条的宽度
function getScrollWidth(){
var divDom = document.createElement("div");
divDom.style.cssText = "position:absolute;top:-1000;height:100px;width:100px;overflow:hidden;";
var noScrollWidth = document.body.appendChild(divDom).clientWidth;
divDom.style.overflow = "scroll";
var scrollWidth = divDom.clientWidth;
return noScrollWidth - scrollWidth;
}
</script>
</html>

table 表头固定的更多相关文章

  1. table表头固定问题

    table表头固定问题 原生的table表头在表格滚动时候无法固定,可以使用以下的方法进行模拟 1. 双table法 表头和表体各用一个table,这样会产生表格列对不齐的问题,可以使用colgrou ...

  2. HTML table表头固定

    HTML table表头固定 说说我在最近项目中碰到的css问题吧,作为问题知识集合总结笔记: <!DOCTYPE html> <html> <head> < ...

  3. 纯CSS实现table表头固定(自创备忘)

    因为之前约定时候产品没说要表头固定,这次迭代测试突然提出这个需求,而且不知道因为什么未知原因非要这样不可--因为之前用了table标签做表单,而且也没用插件,这下就难了点,找另外一个前端前辈妹子商量了 ...

  4. table 表头固定 thead固定. 1) 使用jquery.freezeheader.js

    方法一: 使用jquery.freezeheader.js 固定表头: 1-: 初始化: <!DOCTYPE html> <html lang="en"> ...

  5. jQuery,Table表头固定插件chromatable存在的问题及解决办法

    在最近的项目中需要将表格的表头固定,搜寻了大量的资料,发现chromatable插件还是比较方便的.但是当我在一个页面中多次使用 chromatable固定对个表格的表头时问题就出现了,首先说明系统的 ...

  6. table表头固定

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  7. Html - Table 表头固定和 tbody 设置 height 在IE不起作用的解决

    原文地址,转载请注明出处:http://www.cnblogs.com/jying/p/6294063.html 做项目的时候发现给 tbody设置 height 和 overflow-y 在IE下不 ...

  8. html5 table的表头固定的HTML代码

    table的表头固定的HTML代码 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  9. bootstrap table 实现固定悬浮table 表头并可以水平滚动

    在开发项目中,需要将表格头部固定,而且表格大多数情况下是会水平滚动的.项目的css框架是bootstrap 3,故也可以叫做bootstrap table. 需要实现的是:表格头部固定,并且支持水平滚 ...

随机推荐

  1. Android线控的使用

    实现方式一:只能在程序为前台时监控 在Activity中即可监听 @Override public boolean onKeyUp(int keyCode, KeyEvent event) { Log ...

  2. .bak文件在英文版的sqlserver2014如何生成和恢复

    生成bak备份文件 1.选择数据库 2.右击选择task 3.选择backup 4.

  3. SpringMVC学习记录

    1E)Spring MVC框架 ①Jar包结构: docs+libs+schema. 版本区别:核心包,源码包. SpringMVC文档学习: 学习三步骤: 1)是什么? 开源框架 2)做什么? IO ...

  4. 如何入侵Linux操作系统

    我发现了一个网站,于是常规入侵.很好,它的FINGER开着,于是我编了一个SHELL,aaa帐号试到zzz(by the way,这是我发现的一个网上规律,那就是帐号的长度与口令的强度成正比, 如果一 ...

  5. build-essential

  6. error C2664 转换错误汇总[转]

    vs2005提示 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”. 在用vs2005编写mfc程序的时 ...

  7. Pascal Language: Recommended Materials

    Recommended materials: http://www.marcocantu.com/epascal/

  8. ASP.NET MVC 学习笔记(1)

    从头开始系统地学习ASP.NET MVC 为什么要学习ASP.NET MVC?原因很多,可以先来看一下最早的ASP.NET WebForm的一些缺点: 传说中面试经常要问到的ASP.NET WebFo ...

  9. npm:Node.js的软件包管理器

    npm https://www.npmjs.com/ 2016-08-03

  10. CSS 之 @media

    @media 版本:CSS2 兼容性:IE5+ 语法: @media  sMedia  {sRules} 取值: sMedia : 指定设备名称.请参阅设备类型 all, aural, braille ...