`

table固定表头v3

 
阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="./js/jquery-1.3.2.js"></script>
	<style>
    table.gridtable {
		font-family: verdana,arial,sans-serif;
		font-size:11px;
		color:#333333;
		border-width: 1px;
		border-color: #5CB8E6;
		border-collapse: collapse;
	}
	table.gridtable thead tr th {
		border-width: 1px;
		padding: 8px;
		font-size:1.1em;
		font-weight:bold;
		text-align:left;
		color:#FFFFFF;
		border-style: solid;
		border-color: #5CB8E6;
		background-color: #5CB1E7;
	}
	
	table.gridtable thead tr td {
		border-width: 1px;
		padding: 8px;
		border-style: solid;
		border-color: #5CB8E6;
		background-color: #F0FAFF;
	}
	
	table.gridtable tbody tr td {
		border-width: 1px;
		padding: 8px;
		border-style: solid;
		border-color: #5CB8E6;
		background-color: #ffffff;
	}
	</style>
    <script type="text/javascript">
        /*
        * Auther:Mike.Jiang
        * Email: dataadapter@hotmail.com
        * Date: 2012-09-05
        */
        /*
        主要思想:
        1>将原有的TABLE中的THEAD元素复制一份放在一个新的DIV(fixedheadwrap)中
        2>设置这个fixedheadwrap为绝对位于原来的TABLE的THEAD位置
        */
        (function ($) {
            $.fn.extend({
                FixedHead: function (options) {
                    var op = $.extend({ tableLayout: "auto" }, options);
                    return this.each(function () {
                        var $this = $(this); //指向当前的table
                        var $thisParentDiv = $(this).parent(); //指向当前table的父级DIV,这个DIV要自己手动加上去
                        $thisParentDiv.wrap("<div class='fixedtablewrap'></div>").parent().css({ "position": "relative" }); //在当前table的父级DIV上,再加一个DIV
                        var x = $thisParentDiv.position();

                        var fixedDiv = $("<div class='fixedheadwrap' style='clear:both;overflow:hidden;z-index:2;position:absolute;' ></div>")
                    .insertBefore($thisParentDiv)//在当前table的父级DIV的前面加一个DIV,此DIV用来包装tabelr的表头
                    .css({ "width": $thisParentDiv[0].clientWidth, "left": x.left, "top": x.top });

                        var $thisClone = $this.clone(true);
                        $thisClone.find("tbody").remove(); //复制一份table,并将tbody中的内容删除,这样就仅余thead,所以要求表格的表头要放在thead中
                        $thisClone.appendTo(fixedDiv); //将表头添加到fixedDiv中

                        $this.css({ "marginTop": 0, "table-layout": op.tableLayout });
                        //当前TABLE的父级DIV有水平滚动条,并水平滚动时,同时滚动包装thead的DIV
                        $thisParentDiv.scroll(function () {
                            fixedDiv[0].scrollLeft = $(this)[0].scrollLeft;
                        });

                        //因为固定后的表头与原来的表格分离开了,难免会有一些宽度问题
                        //下面的代码是将原来表格中每一个TD的宽度赋给新的固定表头
                        var $fixHeadTrs = $thisClone.find("thead tr");
                        var $orginalHeadTrs = $this.find("thead");
                        $fixHeadTrs.each(function (indexTr) {
                            var $curFixTds = $(this).find("td");
                            var $curOrgTr = $orginalHeadTrs.find("tr:eq(" + indexTr + ")");
                            $curFixTds.each(function (indexTd) {
                                $(this).css("width", $curOrgTr.find("td:eq(" + indexTd + ")").width());
                            });
                        });
                    });
                }
            });
        })(jQuery);
        $(document).ready(function () {
            $("#tbTest").FixedHead({ tableLayout: "fixed" });
        });
    </script>
</head>
<body>
    <div style="height: 200px; width: 100%; overflow: auto;">
        <table id="tbTest" class="gridtable"   style="width:100%;">
			<col width="10%" />
			<col width="20%" />
			<col width="20%" />
			<col width="20%" />
			<col width="20%" />
			<col width="10%" />
            <thead>
				<tr>
                    <th colspan="6">
                        项目
                    </th>
                </tr>
                <tr>
                    <td style="width: 10%;">
                        项目
                    </td>
                    <td colspan="2">
                        常规性税金
                    </td>
                    <td colspan="2">
                        非常规性税金
                    </td>
                    <td style="width: 10%;">
                        工程税
                    </td>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td style="width: 10%;">
                        0.2
                    </td>
                    <td>
                        11111111111111111.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
                <tr>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                    <td>
                        0.2
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</body>
</html>

 

分享到:
评论

相关推荐

    移动web table固定表头第一列.rar

    "移动web table固定表头第一列.rar"这个压缩包文件显然是为了解决这些问题,提供了一种在移动端实现固定表头和第一列的解决方案。下面将详细讲解如何在HTML5和CSS3环境下实现这样的功能。 首先,我们需要创建一个...

    移动端table固定表头与固定第一列

    总结起来,实现移动端table的固定表头与固定第一列,主要涉及HTML5的表格结构、CSS的定位和层叠上下文以及可能的JavaScript滚动事件处理。通过这些技术,我们能够在移动端提供更好的数据浏览体验。

    js table 固定表头

    js table 固定表头

    html Table 表头固定的实现

    为解决这个问题,就需要实现一个固定表头的效果,即无论表格如何滚动,表头始终固定在页面的顶部。 要实现这个效果,有几种常用的方法,主要包括使用CSS定位和JavaScript。而根据提供的文件内容,本文介绍了一种...

    html table 固定表头和列

    "html table 固定表头和列"这个主题就是关于如何在滚动时使HTML表格的表头(thead)和第一列(或列组)始终保持可见。 一、HTML表格基础 在HTML中,`&lt;table&gt;`元素用于创建表格,`&lt;tr&gt;`定义表格行,`&lt;th&gt;`定义表头...

    asp.net html+table固定表头和左侧列.rar

    在这个“asp.net html+table固定表头和左侧列.rar”压缩包中,我们聚焦的是如何在HTML表格(Table)中实现固定表头(Fixed Header)和左侧列(Fixed Left Column)的功能,以便在用户滚动页面时,这些关键信息始终...

    table固定表头固定列源码

    table表格固定表头与固定列的源代码,用css样式来设置,只支持ie系统浏览器

    table固定表头和指定列

    总的来说,实现"table固定表头和指定列"的功能,需要掌握CSS布局技巧、JavaScript事件处理以及可能的兼容性和性能优化知识。通过学习提供的压缩包文件,你可以深入理解并实践这些技术,提升你的前端开发能力。

    HTML Table固定表头完美实现

    固定表头示例 /* CSS样式,用于基础样式和布局 */ &lt;table id="fixed-header-table"&gt; 列1 列2 列3 &lt;!-- 表格内容行 --&gt; &lt;/table&gt; // JavaScript代码,用于实现固定表头效果 ``` ...

    Table 固定表头插件

    为了解决这个问题,"Table 固定表头插件"应运而生,它使得在滚动查看长表格内容时,表头能够始终保持可见,便于用户定位和理解数据。 固定表头插件(Fixed Header Table)是Web开发中的一个实用工具,主要应用于...

    table的表头固定

    在网页设计中,"table的表头固定"是一种常见的需求,尤其在展示大量数据时,保持表头在页面滚动时始终可见,可以帮助用户更好地理解数据列的含义。...通过不断优化和调整,我们可以创建出既美观又实用的固定表头表格。

    网页table固定表头示例

    在网页设计中,数据展示经常使用到表格(Table),尤其是数据量大时,为了方便用户浏览,固定表头成为一种常见的需求。固定表头可以使用户在滚动页面时始终保持表头可见,以便清楚地知道每一列对应的数据含义。本文...

    JavaScript:固定table的表头

    实现固定表头的方法多种多样,其中JavaScript是一种常见的解决方案。JavaScript可以通过监听滚动事件,动态修改表头的位置和样式来实现这一功能。以下是一些关键步骤和涉及的知识点: 1. **HTML 结构**:首先,我们...

    Jquery table固定表头,固定列,全浏览器兼容

    下面我们将深入探讨如何使用 jQuery 和相关的 CSS 技术来创建一个具有固定表头和固定列的表格,并确保全浏览器兼容。 首先,jQuery 是一个强大的 JavaScript 库,它简化了 DOM 操作、事件处理、动画和Ajax交互。在...

    固定table表头的插件

    在实际应用中,"golovko-Fixed-Header-Table-aa40378"插件可能提供了更高级的功能,如自定义样式、滚动平滑效果、多列固定等,使得固定表头的实现更加灵活和强大。开发者可以通过解压并查看压缩包中的文件,学习其...

    js固定表头和第一列固定

    js固定表头和第一列固定,内容变化

    固定列头表头ListScroll

    【固定列头表头ListScroll】是一种在Android开发中实现的高级UI组件,它结合了ListView和ScrollView的优点,主要用于展示大量数据并具有横向滚动和纵向滚动功能的表格。这种组件通常用于显示复杂的数据结构,例如...

    js table固定表头,固定列,全浏览器兼容

    "js table固定表头,固定列,全浏览器兼容"这个主题就涉及到了这一关键功能的实现,特别是要确保在不同浏览器上,包括对老旧浏览器如IE8及以上的支持。 首先,固定表头(Fixed Header)是指当表格内容滚动时,表头...

    table固定表头和列头

    固定表头和列头

    table固定表头,css控制

    在网页设计中,固定表头是一项常见的需求,特别是在处理大量数据时,用户需要在滚动查看内容时保持表头可见,以便清楚地了解列对应的数据。本文将深入探讨如何使用CSS来实现这一功能,并通过分析提供的两个示例文件...

Global site tag (gtag.js) - Google Analytics