Jquery 表格固定表头
网上找了好多现成的。结果没一个能成。只得自己动手。
(function($){
$.fn.fixHeader = {
init : function(obj){
var p = obj.parent();
//绑定事件
p.scroll(internalScroll);
//获取表格第一行
var head = obj.children("thead tr th:first");
if (!head || head.length == 0) {
var body = obj.children("tbody")[0];
head = $(body.children[0].children[0]);
}
var headHeight = head.height();
//创建新层
var headDiv = $("<div></div>").appendTo(p);
headDiv.css({
"width": p[0].scrollWidth,
"position":"absolute",
"top": p.offset().top,
"display" : "none",
"background-color":"#f5f5f5",
"height": headHeight
});
//克隆第一行
var table = $("<table id='tblFixHeader'></table>").appendTo(headDiv);
$(obj[0].attributes).each(function () {
if (this.name == "id" || this.name == "ID" || this.name == "Id") return true;
if (this.value.indexOf("background-color") > -1) {
table.attr(this.name, this.value.replace(new RegExp("background-color", "g"),""));
} else {
table.attr(this.name, this.value);
}
});
table.css("text-align", "center").css("background-color", null);
var tr = $("<tr></tr>").appendTo(table);
if (body) {
$(body.children[0]).children().each(function() {
var td = $("<td></td>").appendTo(tr);
td.css({
"width" : $(this).width(),
"font-size" : $(this).css("font-size"),
"background-color" : $(this).css("background-color"),
"font-weight" : "bold"
});
td.text($(this).text());
});
}
//滚动事件
function internalScroll() {
var top = obj.scrollTop();
if (top <= 100 - headHeight) {
headDiv.css("display","");
}else{
headDiv.css("display","none");
}
$("#btnTest").val(top + " " + head.height());
}
$(window).resize(function() {
setTimeout(100, doResize());
});
function doResize() {
headDiv.css("width", p[0].scrollWidth);
var tbl = $("#tblFixHeader");
if (tbl && tbl.length == 1) {
var line = obj.children().get(0).children[0];
if (line) {
var line2 = tbl.children().get(0).children[0];
if (line2) {
for (var i = 0; i < line.children.length; i++) {
$(line2.children[i]).css("width", $(line.children[i]).css("width"));
}
}
}
}
}
}
};
})(jQuery);
好用,就拿走。
Jquery 表格固定表头的更多相关文章
- jQuery制作多表格固定表头、切换表头的特效
做了好几天的固定表头特效,总算是搞定了.先说明一下基本功能:我们在一个网页上浏览很多份表格数据的时候,肯定会碰到很多分不清表头,也分不清表 格是哪个的情况,这个时候我们就希望能有一种功能,就是我们再下 ...
- bootstrap表格固定表头,表格内容滚动条滚动显示
直接贴代码--- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- table 表格固定表头和第一列、内容可滚动
整理了下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- JS+CSS - table 表格固定表头和第一列、内容可滚动 (转载)
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- jQuery 表格
jQuery 表格插件汇总 本文搜集了大量 jQuery 表格插件,帮助 Web 设计者更好地驾御 HTML 表格,你可以对表格进行横向和竖向排序,设置固定表头,对表格进行搜索,对大表格进行分 ...
- jQuery 关于ScrollableGridPlugin.js(固定表头)插件的逐步解析
以前写前台的时候需要用哪些效果从来都是有现成的东西拿来就用的,因为自己真的是有些懒,毫无探索精神,只重视结果,不追求过程. 这个ScrollableGridPlugin.js是从网上找到的一个具有固定 ...
- JQuery固定表头插件fixedtableheader源码注释
在开发XX车站信息系统时,需要将大量数据显示在一个巨大的表格内部,由于表格是一个整体,无法分页,加之数据很多,超出一屏,为了方便用户,决定使用固定表头的插件,经过测试,发现JQuery 插件:fixe ...
- (转)用JQuery实现Fix表头表格
本文转载自:http://www.cnblogs.com/evlon/archive/2009/06/12/1502239.html 我的技术要点: 1.用两个表,其中一个是表头,另一个是表格做表体 ...
- 固定表头,单元格td宽度自适应,多内容出现-横向纵向滚动条数据表格的<前世今生>
固定表头,单元格td宽度自适应,多内容出现-横向纵向滚动条数据表格的<前世今生> 先上图例 & 无论多少数据--都完美! 背景:由于我司行业方向,需要很多数据报表,则t ...
随机推荐
- HDU5758 Explorer Bo 树形dp
我是参考这一篇写的:http://blog.csdn.net/fsss_7/article/details/52049474 一点感想:dp[i][0]代表以这个点为根的且总叶子数为偶数个叶子的答案 ...
- IOS AVAUDIOPLAYER 播放器使用
1. 导入 AVFoundation.framework 2.导入头文件 #import <AVFoundation/AVFoundation.h> 3. player = [[AVAu ...
- 仿酷狗音乐播放器开发日志二十七 用ole为窗体增加文件拖动功能(附源码)
转载请说明原出处,谢谢~~ 中秋到了,出去玩了几天.今天把仿酷狗程序做了收尾,已经开发完成了,下一篇博客把完结的情况说一下.在这篇博客里说一下使用OLE为窗体增加文件拖拽的功能.使用播放器,我更喜欢直 ...
- 教你利用iframe在网页中显示天气
来源:http://www.ido321.com/921.html css: 1: *{margin:0;padding:0;list-style-type:none;} 2: a,img{borde ...
- bzoj 3884 上帝与集合的正确用法(递归,欧拉函数)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3884 [题意] 求2^2^2… mod p [思路] 设p=2^k * q+(1/0) ...
- mybatis系列-13-resultMap总结
resultType: 作用: 将查询结果按照sql列名pojo属性名一致性映射到pojo中. 场合: 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用re ...
- Lucene学习笔记:一,全文检索的基本原理
一.总论 根据http://lucene.apache.org/java/docs/index.html定义: Lucene是一个高效的,基于Java的全文检索库. 所以在了解Lucene之前要费一番 ...
- 【转】Maven实战(五)---两个war包的调用
原博文出自于: http://blog.csdn.net/liutengteng130/article/details/42879803 感谢! 开篇前提 1.为什么要用两个war包的调用? ...
- c语言函数的可选性自变量
功能: 宏va_arg()用于给函数传递可变长度的参数列表. 首先,必须调用va_start() 传递有效的参数列表va_list和函数强制的第一个参数.第一个参数代表将要传递的参数的个数. 其次,调 ...
- java数字保留两位小数四舍五入
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public c ...