table 表头固定
<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 表头固定的更多相关文章
- table表头固定问题
table表头固定问题 原生的table表头在表格滚动时候无法固定,可以使用以下的方法进行模拟 1. 双table法 表头和表体各用一个table,这样会产生表格列对不齐的问题,可以使用colgrou ...
- HTML table表头固定
HTML table表头固定 说说我在最近项目中碰到的css问题吧,作为问题知识集合总结笔记: <!DOCTYPE html> <html> <head> < ...
- 纯CSS实现table表头固定(自创备忘)
因为之前约定时候产品没说要表头固定,这次迭代测试突然提出这个需求,而且不知道因为什么未知原因非要这样不可--因为之前用了table标签做表单,而且也没用插件,这下就难了点,找另外一个前端前辈妹子商量了 ...
- table 表头固定 thead固定. 1) 使用jquery.freezeheader.js
方法一: 使用jquery.freezeheader.js 固定表头: 1-: 初始化: <!DOCTYPE html> <html lang="en"> ...
- jQuery,Table表头固定插件chromatable存在的问题及解决办法
在最近的项目中需要将表格的表头固定,搜寻了大量的资料,发现chromatable插件还是比较方便的.但是当我在一个页面中多次使用 chromatable固定对个表格的表头时问题就出现了,首先说明系统的 ...
- table表头固定
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- Html - Table 表头固定和 tbody 设置 height 在IE不起作用的解决
原文地址,转载请注明出处:http://www.cnblogs.com/jying/p/6294063.html 做项目的时候发现给 tbody设置 height 和 overflow-y 在IE下不 ...
- html5 table的表头固定的HTML代码
table的表头固定的HTML代码 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- bootstrap table 实现固定悬浮table 表头并可以水平滚动
在开发项目中,需要将表格头部固定,而且表格大多数情况下是会水平滚动的.项目的css框架是bootstrap 3,故也可以叫做bootstrap table. 需要实现的是:表格头部固定,并且支持水平滚 ...
随机推荐
- phpize php扩展模块安装
安装(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize一.phpize是干嘛的?phpize是什么东西呢?php官方的说明:htt ...
- asp.net连接mysql数据库
方法一:使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件.完成该组件后,需要在项目中引用这个组件,也可 ...
- C# IO操作(三)文件编码
在.net环境下新建一个文本文件(所谓文本文件就是直接可以用记事本打开的文件,直接保存字符串)和在系统中新建一个文本文件的编码是不一样的,.net默认采用UTF-8,而中文操作系统采用的是ANSI.如 ...
- WIN8+VS2013编写发布WCF之一(编写)
引言:上学期因为写服务器用WCF,所以连查资料再瞎调试勉强成功了,但是这学期又到了用WCF的时候,而当时的资料零零散散,查找不易,并且此次是在WIN8与VS2013环境下编写的,所以将该入门过程记 ...
- (转)安装程序发布利器——InstallShield 2011 Limited Edition
最近经常写WCF服务和Windows服务,之前知道可以通过vs2010自带的“安装项目”可以发布程序,但是自vs2010起,同时提供了InstallShield LE. 下面我们通过图示,来了解Ins ...
- TimesTen ODBC 链接库差异及相关命令行工具的使用注意事项
1. TimesTen有两种访问模式:Direct模式和Client/Server模式,以下为来自Operations Guide 的描述 Connecting using TimesTen ODBC ...
- 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 ...
- 使用json方式实现省市两级下拉级联菜单[原创]
本文为博主原创,转载请注明. 首先看一下实现后的效果图: 当然,要完成这个实验,mysql必须与数据库连接,这里选用navicat for mysql这款软件,它与mysql的契合度是很高的,配置环境 ...
- ubuntu系统根目录下各个目录用途说明
1./ 根目录 --------- 所有目录挂在其下 2./boot --------- 存放Ubuntu内核和系统启动文件.系统启动时这些文件先被装载. 3./etc ---- ...
- 代C语言上机实践
这已经是开学第十二周了,个人感觉严老师教的这批学生效果不是很好,有的竟然毫不知道main函数前边的 int是做什么的.只知按照书本上给的样例程序一个字一个字的敲到编译器中,然后点击运行.有错误也不知道 ...