<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. phpize php扩展模块安装

    安装(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize一.phpize是干嘛的?phpize是什么东西呢?php官方的说明:htt ...

  2. asp.net连接mysql数据库

    方法一:使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件.完成该组件后,需要在项目中引用这个组件,也可 ...

  3. C# IO操作(三)文件编码

    在.net环境下新建一个文本文件(所谓文本文件就是直接可以用记事本打开的文件,直接保存字符串)和在系统中新建一个文本文件的编码是不一样的,.net默认采用UTF-8,而中文操作系统采用的是ANSI.如 ...

  4. WIN8+VS2013编写发布WCF之一(编写)

      引言:上学期因为写服务器用WCF,所以连查资料再瞎调试勉强成功了,但是这学期又到了用WCF的时候,而当时的资料零零散散,查找不易,并且此次是在WIN8与VS2013环境下编写的,所以将该入门过程记 ...

  5. (转)安装程序发布利器——InstallShield 2011 Limited Edition

    最近经常写WCF服务和Windows服务,之前知道可以通过vs2010自带的“安装项目”可以发布程序,但是自vs2010起,同时提供了InstallShield LE. 下面我们通过图示,来了解Ins ...

  6. TimesTen ODBC 链接库差异及相关命令行工具的使用注意事项

    1. TimesTen有两种访问模式:Direct模式和Client/Server模式,以下为来自Operations Guide 的描述 Connecting using TimesTen ODBC ...

  7. What are the differences between small, minor, and major updates?

    Following contents are excerpted from the this website and only used for knowledge sharing:  Install ...

  8. 使用json方式实现省市两级下拉级联菜单[原创]

    本文为博主原创,转载请注明. 首先看一下实现后的效果图: 当然,要完成这个实验,mysql必须与数据库连接,这里选用navicat for mysql这款软件,它与mysql的契合度是很高的,配置环境 ...

  9. ubuntu系统根目录下各个目录用途说明

    1./ 根目录     --------- 所有目录挂在其下 2./boot     --------- 存放Ubuntu内核和系统启动文件.系统启动时这些文件先被装载. 3./etc    ---- ...

  10. 代C语言上机实践

    这已经是开学第十二周了,个人感觉严老师教的这批学生效果不是很好,有的竟然毫不知道main函数前边的 int是做什么的.只知按照书本上给的样例程序一个字一个字的敲到编译器中,然后点击运行.有错误也不知道 ...