`
Appleses
  • 浏览: 347922 次
  • 性别: 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>
分享到:
评论

相关推荐

    Bootstrap-表格模板(动态满屏)【筛选+分页+排序】

    总的来说,这个Bootstrap表格模板项目综合运用了前端开发的多个技术点,包括Bootstrap的CSS和组件,jQuery的事件处理和DOM操作,以及可能涉及的第三方库如DataTables,来实现一个功能完善的动态表格。它对于开发者来...

    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 HTML页面反向显示 1.2 页面自动最大化 1.3 页面自动刷新 1.4 页面的后退、刷新、前进 1.5保护网页源代码 1.6 保护自己的网页不被放入框架 1.7 保护自己的网页不被放入框架 1.8 打印页面的出错...

    2012旺铺装修全屏大气轮播代码

    - **图片展示**:`&lt;img&gt;`标签用来插入图片,并通过`style`属性控制图片的显示效果。 - **动态效果**:`.J_TWidgetfooter-more-trigger`类定义了轮播的动态效果,如滚动方向、动画效果等。 #### 3. 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_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”-“自定义级别”-“活动脚本”中选用“禁用”单选框 ...

    富文本框 JSP版本 可以预览 可以全屏输入

    这个功能一般通过JavaScript来实现,当用户触发全屏操作时,调整编辑器的CSS属性,使其充满整个屏幕,并禁用其他非编辑相关的行为。 在实际应用中,集成这样的富文本框需要以下步骤: 1. 将KindEditor库的...

    精通JavaScript

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

    vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)

    总之,通过监听表格的滚动事件、获取可视宽度以及使用适当的CSS样式,我们可以实现Vue中滚动表格的表头与列的对齐,即使列的宽度各不相同。这个解决方案允许我们创建用户友好的滚动表格,提供良好的阅读体验。如果你...

    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 ...

    大气全屏咖啡下午茶会所企业网站模板8862.zip

    【标题】"大气全屏咖啡下午茶会所企业网站模板8862.zip" 提供的是一个专为咖啡厅和下午茶会所设计的企业网站模板。这个模板以其大气且全屏的设计风格,旨在吸引访客的注意力,为浏览者营造出舒适、优雅的在线体验,...

    随心所欲的使用gridview

    在ASP.NET开发中,GridView控件是一种非常常用的数据展示工具,它允许开发者以表格形式灵活地显示和操作数据。在“随心所欲的使用GridView”这一主题中,我们探讨了GridView的一些关键特性和使用技巧。 1. **全选与...

    MY动力 Ver 3.51 Build 正式版.rar

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

    网页设计常用的Javascript特效代码

    为了让网页始终占据用户的整个屏幕空间,可以通过JavaScript实现页面的全屏显示: ```html &lt;script language="JavaScript"&gt; &lt;!-- self.moveTo(0,0); self.resizeTo(screen.availWidth,screen.availHeight) //--&gt;...

    留学教育全屏网站模板是一款大气简洁国外留学培训HTML5教育类整站模板。.zip

    前端开发方面,此模板可能采用了CSS3(级联样式表第三版)来实现响应式设计,确保网站在不同设备(如桌面、平板、手机)上都能自适应显示,提供一致的用户体验。CSS3还提供了更多的动画和过渡效果,可以增加网站的...

    开发网站必须的网页特效 方便大家 方便自己了

    10. **表格控制显示特效**:对于大型数据表,可使用分页、排序、筛选等功能。例如,使用Bootstrap Table或DataTables库,可以轻松实现这些高级交互特性。 这些特效的实现,往往需要HTML、CSS和JavaScript三者的协同...

Global site tag (gtag.js) - Google Analytics