`
Appleses
  • 浏览: 344666 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

通过js控制表格第一行不动以及表格全屏显示

 
阅读更多
fixTable.js
------------
function FixTable() {
var that = this;
/// <summary>
///     锁定表头和列
///     <para> sorex.cnblogs.com </para>
/// </summary>
/// <param name="TableID" type="String">
///     要锁定的Table的ID
/// </param>
/// <param name="FixColumnNumber" type="Number">
///     要锁定列的个数
/// </param>
/// <param name="width" type="Number">
///     显示的宽度
/// </param>
/// <param name="height" type="Number">
///     显示的高度
/// </param>
this.FixTable = function(TableID,FixHeadCol) {
if ($("#" + TableID + "_tableLayout").length != 0) {
$("#" + TableID + "_tableLayout").before($("#" + TableID));
$("#" + TableID + "_tableLayout").empty();
} else {
$("#" + TableID).after(
"<div id='" + TableID
+ "_tableLayout' style='overflow:hidden;height:100%; width:100%;'></div>");
}

$('<div id="' + TableID + '_tableFix"></div>' + '<div id="'
+ TableID + '_tableHead"></div>' + '<div id="'
+ TableID + '_tableColumn"></div>' + '<div id="'
+ TableID + '_tableData"></div>').appendTo(
"#" + TableID + "_tableLayout");

var oldtable = $("#" + TableID);

var tableFixClone = oldtable.clone(true);
tableFixClone.attr("id", TableID + "_tableFixClone");
$("#" + TableID + "_tableFix").append(tableFixClone);//固定头和固定列的交集区域

var tableHeadClone = oldtable.clone(true);
tableHeadClone.attr("id", TableID + "_tableHeadClone");
$("#" + TableID + "_tableHead").append(tableHeadClone);//固定头部区域
var tableColumnClone = oldtable.clone(true);
tableColumnClone.attr("id", TableID + "_tableColumnClone");
$("#" + TableID + "_tableColumn").append(tableColumnClone);//固定列区域

$("#" + TableID + "_tableData").append(oldtable);//主题数据区域

$("#" + TableID + "_tableLayout table").each(function() {
$(this).css("margin", "0");
});
var HeadHeight=0;
//alert(FixHeadCol);
if(FixHeadCol){
}else{
FixHeadCol=1;
}
//for(var j=1;j<FixHeadCol+1;j++){
//  alert($("#" + TableID + "_tableHead tr:lt(5)").html());
HeadHeight= $("#" + TableID + "_tableHead tr:lt(2)").height();
//}
//alert(HeadHeight);
HeadHeight += 2;
$("#" + TableID + "_tableHead").css("height", HeadHeight);
$("#" + TableID + "_tableFix").css("height", HeadHeight);
var ColumnsWidth = 0;
var ColumnsNumber = 0;
var ColumnsWidthList="";
$("#" + TableID + "_tableColumn [name=fixcol]")
.each(function() {
ColumnsWidth += $(this).outerWidth(false);
ColumnsNumber++;
ColumnsWidthList=ColumnsWidthList+$(this).outerWidth(false)+',';
});

ColumnsWidth += 2;

if ($.browser.msie) {
switch ($.browser.version) {
case "7.0":
if (ColumnsNumber >= 3)
ColumnsWidth--;
break;
case "8.0":
if (ColumnsNumber >= 2)
ColumnsWidth--;
break;
}
}
$("#" + TableID + "_tableColumn").css("width", ColumnsWidth);//固定列宽度,以取最后一行每列的宽度为准
$("#" + TableID + "_tableFix").css("width", ColumnsWidth);

$("#" + TableID + "_tableFix").css( {
"overflow" : "hidden",
"position" : "relative",
"z-index" : "50",
//"background-color" : "#f9e3d6",
"font-size" : "12px"
});
$("#" + TableID + "_tableHead").css( {
"overflow" : "hidden",
"width" : "100%",
"position" : "relative",
"z-index" : "45",
//"background-color" : "#f9e3d6",
"font-size" : "12px"
});
$("#" + TableID + "_tableColumn").css( {
"overflow" : "hidden",
"height" : "100%",
"position" : "relative",
"z-index" : "40",
//"background-color" : "#f9e3d6",
"font-size" : "12px"
});
$("#" + TableID + "_tableData").css( {
"overflow" : "scroll",
"width" : "100%",
"height" : "100%",
"position" : "relative",
//"background-color" : "#f9e3d6",
"z-index" : "35"
});
$("#" + TableID + "_tableData").scroll(
function() {
$("#" + TableID + "_tableHead").scrollLeft(
$("#" + TableID + "_tableData").scrollLeft());
$("#" + TableID + "_tableColumn").scrollTop(
$("#" + TableID + "_tableData").scrollTop());
});
if ($("#" + TableID + "_tableHead").width() > $(
"#" + TableID + "_tableFix table").width()) {
//$("#" + TableID + "_tableHead").css("width",$("#" + TableID + "_tableFix table").width());
//$("#" + TableID + "_tableData").css("width",$("#" + TableID + "_tableFix table").width() + 17);



if ($("#" + TableID + "_tableColumn").height() > $("#" + TableID + "_tableColumn table").height())
{
var tbheight=$("#" + TableID + "_tableColumn table").height();
if($("#" + TableID + "_tableData table tr").length<=11){
tbheight=$(".dlist").height()-17;
$(".dlist").css({"height": "375px"});
}else{
}
$("#" + TableID + "_tableColumn").css("height",tbheight+"px");
$("#" + TableID + "_tableData").css("height",(tbheight + 18)+"px");
//$(".dlist").css("height",tbheight+"px");
}

$("#" + TableID + "_tableFix").offset(
$("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableHead").offset(
$("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableColumn").offset(
$("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableData").offset(
$("#" + TableID + "_tableLayout").offset());

IntervalFun(TableID );
setInterval('IntervalFun("' + TableID + '")', 1000);
}

}
var fixTable = new FixTable();

function IntervalFun(TableID) {
$("#" + TableID + "_tableHead").css("width",$("#" + TableID + "_tableData").width() - 17);
$("#" + TableID + "_tableColumn").css("height",$("#" + TableID + "_tableData").height() - 17);

$("#" + TableID + "_tableLayout table").each(function() {
$(this).css("width", $(".dlist").width() - 17);
});

var ColumnsWidth = 0;
var ColumnsNumber = 0;
var ColumnsWidthList="";
$("#" + TableID + "_tableColumn [name=fixcol]")
.each(function() {
ColumnsWidth += $(this).outerWidth(false);
ColumnsNumber++;
ColumnsWidthList=ColumnsWidthList+$(this).outerWidth(false)+',';
});
ColumnsWidth += 2;

if ($.browser.msie) {
switch ($.browser.version) {
case "7.0": if (ColumnsNumber >= 3) ColumnsWidth--; break;
case "8.0": if (ColumnsNumber >= 2) ColumnsWidth--; break;
}
}
$("#" + TableID + "_tableColumn").css("width", ColumnsWidth);//固定列宽度,以取最后一行每列的宽度为准
$("#" + TableID + "_tableFix").css("width", ColumnsWidth);

var fixcollist =ColumnsWidthList.split(',');
$("#" + TableID + "_tableLayout table").each(function() {
$($(this).attr("id")+" [name=fixcol]").each(function(){
for (var i=0;i<fixcollist.length-1;i++){
$(this).css("width", fixcollist[i]+"px");
}
});
});

$("#" + TableID + "_tableData").offset($("#" + TableID + "_tableLayout").offset());
}
==============================================================
fullScreen.js
--------------
function FullScreen() {
var that = this;

var div;

var background;
var width;
var height;
var position;
var zindex;
var top;
var left;
var margintop;
var marginleft;
var marginright;
var marginbottom;

//全屏
this.FullScreen = function(divId) {

if (!document.getElementById("fullScreen_closeBar")) {
var backDiv = $('<div id="fullScreen_backDiv" style="display: none; background: gray; width: 100%; height: 100%; position: fixed; z-index: 197; top: 0px; left: 0px; overflow-x: hidden; overflow-y: hidden;"></div>');
var tempDiv = $('<div id="fullScreen_closeBar" style="display: none; background: gray; width: 100%; height: 27px; position: fixed; z-index: 198; top: 0px; left: 0px; overflow-x: hidden; overflow-y: hidden;"><input style="float:right;margin: 0px; padding: 5px 10px; border: 0px; background-color: #F7941D; color: white; font-size: 14px; cursor: default;" type="button" id="closeFullScreen" value="关闭" /></div>');
$(document.body).append(backDiv);
$(document.body).append(tempDiv);
}

$("#closeFullScreen").click(function() {
that.CloseFullScreen();
});

div = $("#" + divId);

background = div.css("background");

width = div.css("width");
height = div.css("height");
position = div.css("position");
zindex = div.css("z-index");
top = div.css("top");
left = div.css("left");

margintop = div.css("margin-top");
marginleft = div.css("margin-left");
marginright = div.css("margin-right");
marginbottom = div.css("margin-bottom");

$("#fullScreen_backDiv").show(500);
$("#fullScreen_closeBar").show(700);
div.hide();
div.css("background", "#FFFFFF");
div.css("width",  "100%");
div.css("height",($(window).height()-27)+"px");
div.css("position", "fixed");
div.css("z-index", "199");
div.css("top", "27px");
div.css("left", "0px");
div.css("margin-top", "0px");
div.css("margin-left", "0px");
div.css("margin-right", "0px");
div.css("margin-bottom", "0px");
div.show(1000);
}

//关闭全屏
this.CloseFullScreen = function() {

div.hide();
div.css("background", background);
div.css("width", width);
div.css("height", height);
div.css("position", position);
div.css("z-index", zindex);
div.css("top", top);
div.css("left", left);
div.css("margin-top", margintop);
div.css("margin-left", marginleft);
div.css("margin-right", marginright);
div.css("margin-bottom", marginbottom);

$("#fullScreen_closeBar").hide(500);
$("#fullScreen_backDiv").hide(500);

div.show(500);
}
}

var fullScreen = new FullScreen();
============================================================
html
--------
<script type="text/javascript">
function doQuery() {
document.form1.action = "${path}/business/pol/index/policyreturnquery?type=query";
document.form1.submit();
}
$(function() {
fixTable.FixTable("mytable");
$("#fullScreen").click(function() {
fullScreen.FullScreen("mylist");
});
})
</script>
<a href="####" id="fullScreen"><span> <img
src="${path}/statics/images/qp.gif"
style="margin-right: 4px; margin-bottom: -3px;" />全屏</span> </a>
</div>
-------------------------------------------------------
<table id="mytable" cellpadding="0" cellspacing="0"
class="dg_borderstyle  trStyleTable"
style="margin-top: 0px; text-align: center;">
<tr>
<th>
<span>投保单号</span>
</th>
                  </tr>
</table>
分享到:
评论

相关推荐

    程序天下:JavaScript实例自学手册

    第1章 页面特效 1.1 HTML页面反向显示 1.2 页面自动最大化 1.3 页面自动刷新 1.4 页面的后退、刷新、前进 1.5保护网页源代码 1.6 保护自己的网页不被放入框架 1.7 保护自己的网页不被放入框架 1.8 打印页面的出错...

    JavaScript网页特效范例宝典源码

    第1章 窗口/框架与导航条设计 1 1.1 弹出窗口控制 2 实例001 打开新窗口显示广告信息 2 实例002 定时打开窗口 4 实例003 通过按钮创建窗口 5 实例004 自动关闭的广告窗口 6 实例005 控制弹出窗口居中显示 7 实例006 ...

    《程序天下:JavaScript实例自学手册》光盘源码

    第1章 页面特效 1.1 HTML页面反向显示 1.2 页面自动最大化 1.3 页面自动刷新 1.4 页面的后退、刷新、前进 1.5保护网页源代码 1.6 保护自己的网页不被放入框架 1.7 保护自己的网页不被放入框架 1.8 打印页面的出错...

    JavaScript实例精通

    第1章(\1) 示例描述:变量。 1_1.htm 变量声明。 1_2.htm 局部变量和全局变量。 1_3.htm JavaScript中的强制类型转换。 1_4.htm 在HTML中为JavaScript传递变量。 1_5.htm 在HTML中引用JavaScript的变量...

    《JavaScript实例精通》[源代码]

    第1章(\1) 示例描述:变量。 1_1.htm 变量声明。 1_2.htm 局部变量和全局变量。 1_3.htm JavaScript中的强制类型转换。 1_4.htm 在HTML中为JavaScript传递变量。 1_5.htm 在HTML中引用JavaScript的变量...

    精通javascript

    第1章(\第1章) 查看1.2.htm中noscript显示效果的方法如下: 1.将该实例复制到C:\Inetpub\wwwroot下; 2.选择浏览器的“工具”-“安全”-“本地Intranet”-“自定义级别”-“活动脚本”中选用“禁用”单选框 ...

    精通JavaScript

    第1章(\第1章) 查看1.2.htm中noscript显示效果的方法如下: 1.将该实例复制到C:\Inetpub\wwwroot下; 2.选择浏览器的“工具”-“安全”-“本地Intranet”-“自定义级别”-“活动脚本”中选用“禁用”单选框 ...

    JavaScript应用177例

    第1章(\cha01) 1.1.htm 自动类型转换 1.2.htm 显式类型转换 1.3.htm 提升基本类型为对象 第2章(\cha02) 2.1.htm if语句 2.2.htm switch语句 2.3....

    javascript网页特效实例大全

    第1章 javascript概述 1 1.1 什么是脚本语言 2 1.2 javascript简介 2 1.3 javascript与java的关系 3 1.4 javascript的基本构成 4 1.4.1 基本数据类型 4 1.4.2 变量 4 1.4.3 常量 5 1.4.4 表达式 6 1.4.5 ...

    javascript函数的解释

    84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]); 85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue= "we really like you and hope you will stay ...

    MY动力 Ver 3.51 Build 正式版.rar

    13、解决了现行系统在上传一个图片或附件后就不能再上传第二、三、四个的问题,兼容各个IE版本。 14、解决了公告栏编辑时会出现的符号的问题。 15、更改了公告及管理登录的界面。 16、修正了JS代码中的调用显示问题...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    全书压缩打包成2部分,这是第1部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介  《PHP开发实战1200例》分为...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    目录: 第1篇 基础篇 第1章 开发环境 2 1.1 AppServ——PHP集成化安装包 3 实例001 通过AppServ配置PHP开发环境 3 实例002 AppServ应用技巧 6 实例003 第1个PHP程序 7 1.2 XAMPP——PHP集成化安装包 8 实例004 通过...

    JAVA上百实例源码以及开源项目源代码

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    JAVA上百实例源码以及开源项目

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    1)AjaxJavaScript资源 1.JS+CSS仿腾讯QQ首页搜索框无刷新换肤效果代码 2.js+css简单后台二级树形菜单demo示例 3.JS+CSS美化经典Select选项框插件 4.JS+CSS通用一个页面同时三个焦点图轮换效果完整实例 5....

    Simple-Smart-Mirror-Magic-Mirror

    简单的魔镜天气应用程序,带有报价日期地理位置 该应用程序... 在quote.js的第60行第307行中,您可以在此处设置允许的引号的字符数限制。 去做: 通过字符计数将字体大小基于字符计数 每隔几个小时清除一次缓存修改wi

    java源码包---java 源码 大量 实例

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

Global site tag (gtag.js) - Google Analytics