(转)用JQuery实现Fix表头表格
本文转载自:http://www.cnblogs.com/evlon/archive/2009/06/12/1502239.html
我的技术要点:
  1、用两个表,其中一个是表头,另一个是表格做表体
  2、两个表格使用相同的百分比宽度
  3、在IE下,如果列溢出,则采用 ... 来表示溢出,FF下自动隐藏
  4、采用JQuery,把表头的列宽,设置到表体第一列。
  5、在窗体大小改变时,自动设置表头的容器宽度为表体的宽度。

不复杂,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html>
<head>
<title>Untitled</title>
<style type="text/css">
.oddtr
{
background-color:#efefef;
} .fixheader_table table
{
border-collapse:collapse;
width:100%;
border-width:0px;
}
.fixheader_table table td
{
border-collapse:collapse;
width:100%;
border:solid 1px #ccf;
} .fixheader_table > .header
{
}
.fixheader_table > div.body
{
overflow:auto;height:200px; /* IE下这样设置不管用,没有办法,我只好设置到 style中了 */
border:solid 1px red;
} .ellipsis table{
table-layout:fixed;/* 只有定义了表格的布局算法为fixed,下面td的定义才能起作用。 */
}
.ellipsis table tr{
height:25px;
line-height:25px;
} .ellipsis table td{
word-break:keep-all;/* 不换行 */
white-space:nowrap;/* 不换行 */
overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */
text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记() ;需与overflow:hidden;一起使用。*/
}
</style>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function()
{
var headerCells = $('.fixheader_table .header table tr:first td');
$('.fixheader_table .body table tr:first td').each(function(i,n)
{
$(this).css('width',headerCells.eq(i).css('width'));
});
//关联宽度
$(window).resize(function () {
$('.fixheader_table .header').width($('.fixheader_table > .body table').width());
}).triggerHandler('resize'); });
</script> </head> <body>
<div class="fixheader_table">
<div class="header ellipsis">
<table>
<tr>
<td style="width:40%">标题</td>
<td style="width:30%">姓名</td>
<td style="width:30%">时间</td>
</tr>
</table>
</div>
<div class="ellipsis body" style="overflow:auto;height:200px;">
<table>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
</table>
</div> </div> </body>
</html>
(转)用JQuery实现Fix表头表格的更多相关文章
- 转:jQuery LigerUI 使用教程表格篇(3) 复选框、多表头、分组、汇总和明细
		
阅读目录 复选框 多表头 分组 汇总 明细 复选框 grid可以设置复选框模式进行多选,只需要简单的配置 checked:true 获取选中行 如果要获取选中的行,可以用getSelecteds方法: ...
 - jQuery——能够编辑的表格
		
版权声明:欢迎转载,请注明出处 https://blog.csdn.net/suneqing/article/details/26856635 今天学习了利用jQuery实现能够编辑的表格这个 ...
 - FineUI小技巧(7)多表头表格导出
		
前言 之前我们曾写过一篇文章 FineUI小技巧(3)表格导出与文件下载,对于在 FineUI 中导出表格数据进行了详细描述.今天我们要更进一步,介绍下如何导出多表头表格. 多表头表格的标签定义 在 ...
 - jQuery(6)——jQuery对表单、表格的操作及更多应用
		
jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...
 - HTML多表头表格
		
1.多表头表格代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
 - JS实现点击表头表格自动排序(含数字、字符串、日期)
		
这篇文章主要介绍了利用JS如何实现点击表头后表格自动排序,其中包含数字排序.字符串排序以及日期格式的排序,文中给出了完整的示例代码,并做了注释,相信大家都能看懂,感兴趣的朋友们一起来看看吧. < ...
 - jQuery 对表单、表格的操作及更多应用-简略笔记
		
[jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...
 - [转]jQuery实现清空table表格除首行外的所有数据
		
1.其实网上有很多版本,试了好几个都不行,最后还是查到了一个非常方便的:不会清除表格第一行表头部分. 其中J_tab_fam是table的id. 1 $("#J_tab_fam tr:no ...
 - 第5章 jQuery对表单、表格的操作及更多应用
		
本章主要是对前面4章的小结和应用. 一. 表单form应用 表单分为3个组成部分 (1)form标签 表单可包含文本域,复选框,单选按钮等等.表单用于向指定的 URL 传递用户数据. (2)表单域 - ...
 
随机推荐
- C# DataSet取值
			
1.读取dataset中某表某行某列的值: dataset.Tables[].Rows[].ItemArray[].ToString()dataset.Tables[0].Rows[0][0]; 该示 ...
 - Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
			
svn更新代码后,打开xcode工程文件,会出现 xxx..xcodeproj cannot be opened because the project file cannot be parsed ...
 - C++ STL库之vector
			
vector直译有"容器"之意,我们可以把它理解成是一个不限长度的数组. 我们可以通过代码进一步理解vector. 示例代码如下: #include <stdio.h> ...
 - ES6 — 数组Array
			
ES6对数组引入了几个新函数: (1) Array.of() 作用是将一组数值,转换为数组. Array.of(1,2,3,4); //[1,2,3,4] (2) Array.from() 作用是把类 ...
 - C函数及指针学习2
			
1.break 永久终止循环,continue 结束当前循环 2.switch 每个case标签要有唯一值,(且为常量或常量表达式) 不加break 时执行流会贯穿整个case 标签 3 赋值操作符 ...
 - C/C++程序员必须熟练应用的开源项目(转-清风小阁)
			
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应 ...
 - phpwind8.7升级9.0.1过程(一)本地和服务器数据同步的部署
			
在使用phpwind的过程中需要将整个网站论坛的模板从phpwind8.7升级到phpwind9.0.1 需要首先在本地搭建和服务器端一样的环境然后在本地尝试性升级之后,然后在服务器端进行升级. 以下 ...
 - ID3算法 决策树的生成(1)
			
# coding:utf-8 import matplotlib.pyplot as plt import numpy as np import pylab def createDataSet(): ...
 - xunsearch增量索引改进版
			
最近测试了xunserach全文索引程序.xunsearch只有LINUX版,所以想用windows服务器请使用其它全文索引程序.xunsearch本身不像coreseek那样自带增量索引的功能,所以 ...
 - javascript error
			
IE 6下expected identifier,string or number(缺少标示符.字符串或数字)其实就是多了一个逗号,之前没发现