美文网首页
TABLE表格锁定 行和列

TABLE表格锁定 行和列

作者: 卡卡西哥哥 | 来源:发表于2016-01-07 12:30 被阅读697次

    JS部分

    ------------------------------------------------------------------------------------------------------

    function FixTable(TableID, FixColumnNumber, width, height) {

    ///

    ///     锁定表头和列

    ///     sorex.cnblogs.com

    ///

    ///

    ///     要锁定的Table的ID

    ///

    ///

    ///     要锁定列的个数

    ///

    ///

    ///     显示的宽度

    ///

    ///

    ///     显示的高度

    ///

    if ($("#" + TableID + "_tableLayout").length != 0) {

    $("#" + TableID + "_tableLayout").before($("#" + TableID));

    $("#" + TableID + "_tableLayout").empty();

    }

    else {

    $("#" + TableID).after("

    ");

    }

    $('

    '

    + '

    '

    + '

    '

    + '

    ').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 = $("#" + TableID + "_tableHead thead").height();

    HeadHeight += 2;

    $("#" + TableID + "_tableHead").css("height", HeadHeight);

    $("#" + TableID + "_tableFix").css("height", HeadHeight);

    var ColumnsWidth = 0;

    var ColumnsNumber = 0;

    $("#" + TableID + "_tableColumn tr:last td:lt(" + FixColumnNumber + ")").each(function () {

    ColumnsWidth += $(this).outerWidth(true);

    ColumnsNumber++;

    });

    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 + "_tableData").scroll(function () {

    $("#" + TableID + "_tableHead").scrollLeft($("#" + TableID + "_tableData").scrollLeft());

    $("#" + TableID + "_tableColumn").scrollTop($("#" + TableID + "_tableData").scrollTop());

    });

    $("#" + TableID + "_tableFix").css({ "overflow": "hidden", "position": "relative", "z-index": "50", "background-color": "#F3F3F3" });

    $("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - 17, "position": "relative", "z-index": "45", "background-color": "#F3F3F3" });

    $("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height - 17, "position": "relative", "z-index": "40", "background-color": "#ffffff" });

    $("#" + TableID + "_tableData").css({ "overflow": "scroll", "width": width, "height": height, "position": "relative", "z-index": "35" });

    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()) {

    $("#" + TableID + "_tableColumn").css("height", $("#" + TableID + "_tableColumn table").height());

    $("#" + TableID + "_tableData").css("height", $("#" + TableID + "_tableColumn table").height() + 17);

    }

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

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

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

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

    }

    $(document).ready(function () {

    FixTable("MyTable", 4, document.documentElement.clientWidth+15, document.documentElement.clientHeight-90);

    });

    //-->

    -----------------------------------------------------------------------------------------------------------------

    代码部分

    -----------------------------------------------------------------------------------------------------------------

    style="border-bottom-color: black; border-top-color: black; width: 1000px; color: #000000; border-right-color: black; font-size: medium; border-left-color: black"

    id="MyTable"

    border="1"

    cellspacing="0"

    cellpadding="0"

    >

    姓名

    班级

    成绩

    主科

    文科

    理科

    总分

    语文

    数学

    英语

    政治

    历史

    地理

    物理

    化学

    生物

    姓名

    班级

    语文

    数学

    英语

    政治

    历史

    地理

    物理

    化学

    生物

    总分

    -->

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    学生32

    班级1

    29

    25

    146

    28

    79

    73

    47

    8

    91

    526

    相关文章

      网友评论

          本文标题:TABLE表格锁定 行和列

          本文链接:https://www.haomeiwen.com/subject/qssfkttx.html