table表头标题th浮动提示-MyTable.js
/*
$(document).ready(function () {
var maxH = ($(window).height() - $("#divParent").position().top - 6);
$("#divParent").css("height", maxH + "px").css("max-width", $("#tb1").width() + "px"); $.CreateFixedTableThead(document.getElementById("tbThead"), true);
$.CreateFixedTableThead(document.getElementById("tbDeatil"), true); });
*/
(function (a) {
a.CreateFixedTableThead = function (useTable, doNotSetParentDiv) {
if (!useTable) return; var fixedDivId = $(useTable).attr("id") + "mytable1111";
if (document.getElementById(fixedDivId)) {
$("#" + fixedDivId).css("width", ($(useTable).width() + 2) + "px");
return;
}
//var newObject = $(useTable).find("thead");
useTable = $(useTable);
//useTable.css("max-height","400px");
var newObject, newTheadDiv, useTableParent;
newObject = useTable.clone();
newObject.attr("id", fixedDivId).attr("width", "100%").css("width", "100%");
//.removeAttr("width");
//.css({ 'margin-right': 0, 'margin-left': 0 });
newObject.find("tbody").remove();
if (newObject.find("tr").length <= 0) {
newObject.html(useTable.find(".trcss"));
} useTableParent = useTable.parent();
//$(this).height()
if (!useTableParent) { return; } var trLength = newObject.find("tr").length; //================设置表外层格式 开始================================================ if (!doNotSetParentDiv) {
//useTable.find("tr").height()
var maxH = ($(window).height() - useTableParent.position().top - 6), winWidth = $(window).width();
if ($.browser.msie) { maxH = maxH - 14; }
//设置父级div的position 值
//useTableParent.css("position", "relative");
//{position:'relative',overflow-y:'auto',max-height:400}
useTableParent.css({ "position": 'relative', "overflow-y": 'auto', "max-height": maxH + "px" });
if (winWidth < useTableParent.width() || winWidth < useTable.width()) {
//当表格宽度大于界面时设置 横向滚动条。
if (useTableParent.css("max-width") == "none" || useTableParent.css("max-width") == "") {
useTableParent.css("max-width", $(window).width() + "px").css("overflow-x", "auto");
$("body").css("overflow-x", "hidden");
if ($.browser.msie) { maxH = maxH - 20; }
useTableParent.css("max-height", (maxH) + "px");
}
}
}
//================设置表外层格式 结束================================================ //position: absolute;
newTheadDiv = $("<div style='position:fixed;left:0px;z-index:10;'></div>");
newTheadDiv.css("width", (useTable.width() + 2) + "px")
.css("top", useTableParent.position().top + "px");
if (trLength > 1) {
newTheadDiv.css("left", "");
}
//.css("margin-left", useTable.css("margin-left")); newTheadDiv.append(newObject);
useTableParent.append(newTheadDiv); var tdArr = $(newObject).find("tr:first td,th");
useTable.find("tr:first").find("th,td").each(function (index, obj) {
$(tdArr[index]).css("width", $(obj).width() + "px");
}); $(window).resize(function () {
newTheadDiv.css("width", (useTable.width() + 2) + "px");
var tdArr = $(newObject).find("tr:first td,th");
useTable.find("tr:first").find("th,td").each(function (index, obj) {
$(tdArr[index]).css("width", $(obj).width() + "px");
});
});
$(useTableParent).scroll(function () {
var leval = $(this).scrollLeft();
if (leval == 0) {
$(newTheadDiv).css("left", "");
} else {
leval = leval;
$(newTheadDiv).css("left", "-" + leval + "px");
}
}); }; })(jQuery);
方法二:
<thead>
<tr style="position: relative;top: expression((this.offsetParent.scrollTop>this.parentElement.parentElement.offsetTop?this.offsetParent.scrollTop-this.parentElement.parentElement.offsetTop-38:0)-1);">
<th class="tdcss" onclick="sortAble('tb',0,'int')">
房间资料分析
</th>
<th class="tdcss" colspan="4" onclick="sortAble('tb',1,'int')">
本日统计
</th>
<th class="tdcss" colspan="4" onclick="sortAble('tb',2,'int')">
本月统计
</th>
<th class="tdcss" colspan="4" onclick="sortAble('tb',3,'int')">
本年统计
</th>
</tr>
</thead>
主要是此段代码:
<tr style="position: relative;top: expression((this.offsetParent.scrollTop>this.parentElement.parentElement.offsetTop?this.offsetParent.scrollTop-this.parentElement.parentElement.offsetTop-38:0)-1);" >
至少兼容IE8
table表头标题th浮动提示-MyTable.js的更多相关文章
- table 表头固定 thead固定. 1) 使用jquery.freezeheader.js
方法一: 使用jquery.freezeheader.js 固定表头: 1-: 初始化: <!DOCTYPE html> <html lang="en"> ...
- html中table表格标题固定表数据行出现滚动条
需求 web系统中有的用户不喜欢分页,希望数据能在一个页面中全部显示出来. 但是页面中是有滚动条的,当查看下面的数据时就不知道数据行中的列对应的是哪个标题的列. 也就是无法知道这个列是什么数据. 所以 ...
- tip浮动提示框
今天工作中碰到要弹出tip浮动提示框,如服务器控件的ToolTip属性. 通过GOOGLE搜到了一个很好用的tip浮动提示框:TipTip jQuery Plugin. 例子如下: <!DOCT ...
- bootstrap table 实现固定悬浮table 表头并可以水平滚动
在开发项目中,需要将表格头部固定,而且表格大多数情况下是会水平滚动的.项目的css框架是bootstrap 3,故也可以叫做bootstrap table. 需要实现的是:表格头部固定,并且支持水平滚 ...
- element ui table表头动态筛选条件
本文主要实现:根据el-table表格数据自动生成表头筛选条件的方法,可根据表格数据动态调整. el-table表格的表头增加筛选功能,大家平时都是怎么实现的呢?先看看官方文档的例子: 1 <t ...
- Tooltip浮动提示框效果(掌握里面的小知识)
使用原生JavaScript设计和实现Tooltip浮动提示框特效,了解代码简化.事件绑定.事件冒泡等技巧和知识. 特效四个关键点:显示:鼠标移到ToolTip超链接上时,ToolTip提示框可以显示 ...
- ElementUI - Table 表头排序
ElementUI - Table 表头自带排序功能,和排序事件,但是目前只是对当前界面的数据进行排序. 项目需求: 点击表头排序的时候,对所有数据进行排序. 初步方案: 在点击排序按钮的时,在排序事 ...
- Excel设置excel打印每页都有表头标题
Excel设置excel打印每页都有表头标题
- table表头固定问题
table表头固定问题 原生的table表头在表格滚动时候无法固定,可以使用以下的方法进行模拟 1. 双table法 表头和表体各用一个table,这样会产生表格列对不齐的问题,可以使用colgrou ...
随机推荐
- IE10访问apache 2.4会奇慢的解决办法
Windows版的apache 2.4. IE10访问apache 2.4会特别慢.有时Apache挂起了.只好重新开apache,但是重开后,也会好景不长,刚处理几个请求,就又变得奇慢了.Firef ...
- [USACO2005][POJ2454]Jersey Politics(随机化)
题目:http://poj.org/problem?id=2454 题意:给你3*k(k<=60)个数,你要将它们分成3个长度为k的序列,使得其中至少有两个序列的和大于k*500 分析:以为有高 ...
- JAVA中的NIO(二)
一.内存文件映射 内存文件映射允许我们创建和修改那些因为太大而不能放入内存中的文件.有了内存文件映射,我们就可以假定整个文件都在内存中,而且可以完全把文件当作数组来访问. package com.dy ...
- 团队项目作业第二项:利用NABCD模型进行竞争性需求分析
项目需求分析与建议--NABCD模型(王鲁跃负责) N (Need 需求) 对于现在的学生来说,我们认为打字是很重要的.不管在什么方面都需要进行电脑打字,例如文员.QQ.MSN.制作,论文等等,都需要 ...
- Web前端开发Chrome插件
参考:http://www.cnblogs.com/sosoft/p/3490481.html 越来越多的前端开发人员喜欢在Chrome里开发调试代码,Chrome有许多优秀的插件可以帮助前端开发人员 ...
- localStorage和sessionStorage的区别
//在chrome测试的结果; 知识点1:localStorage和sessionStorage的区别; localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除local ...
- 用freemarker生产静态页面
FreeMarker概述 * FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 * Template + data model = output ...
- BZOJ-1625 宝石手镯 01背包(傻逼题)
傻逼题,懒得打,复制蛋蛋的.. 1625: [Usaco2007 Dec]宝石手镯 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1076 Solved: ...
- [NOIP2011] 提高组 洛谷P1312 Mayan游戏
题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...
- bzoj2054 疯狂的馒头
bzoj上现在找不到这题,所以目前只是过了样例,没有测 2054: 疯狂的馒头 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 715 Solved: ...