中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      基于jQuery的固定表格頭部的代碼

      時(shí)間:2024-08-30 08:59:27 jQuery Mobile 我要投稿
      • 相關(guān)推薦

      基于jQuery的固定表格頭部的代碼

        有段時(shí)間做項(xiàng)目時(shí)候由于需要顯示一個(gè)列表,但是由于數(shù)據(jù)太多在滾動(dòng)的時(shí)候表頭必須凍結(jié)住,所以就寫了下面這個(gè)腳本(曾經(jīng)在網(wǎng)上也找過相應(yīng)的腳本,但是不怎么理想所以就自己寫了,但是目前由于項(xiàng)目僅僅用到了表頭的凍結(jié),而不需要指定列凍結(jié)所以目前只能算個(gè)不完整的腳本,不過一般的僅僅需要表頭凍結(jié)就可以使用了),現(xiàn)在先看看截圖:

        這樣實(shí)現(xiàn)了表頭的凍結(jié),下面表體內(nèi)容可以自由滾動(dòng)

        看下代碼:

        //為jquery擴(kuò)展一個(gè)CloneTableHeader 方法

        復(fù)制代碼 代碼如下:

        jQuery.fn.CloneTableHeader = function(tableId, tableParentDivId) {

        //獲取凍結(jié)表頭所在的DIV,如果DIV已存在則移除

        var obj = document.getElementById("tableHeaderDiv" + tableId);

        if (obj) {

        jQuery(obj).remove();

        }

        var browserName = navigator.appName;//獲取瀏覽器信息,用于后面代碼區(qū)分瀏覽器

        var ver = navigator.appVersion;

        var browserVersion = parseFloat(ver.substring(ver.indexOf("MSIE") + 5, ver.lastIndexOf("Windows")));

        var content = document.getElementById(tableParentDivId);

        var scrollWidth = content.offsetWidth - content.clientWidth;

        var tableOrg = jQuery("#" + tableId);//獲取表內(nèi)容

        var table = tableOrg.clone();//克隆表內(nèi)容

        table.attr("id", "cloneTable");

        //注意:需要將要凍結(jié)的表頭放入thead中

        var tableHeader = jQuery(tableOrg).find("thead");

        var tableHeaderHeight = tableHeader.height();

        tableHeader.hide();

        var colsWidths = jQuery(tableOrg).find("tbody tr:first td").map(function() {

        return jQuery(this).width();

        });//動(dòng)態(tài)獲取每一列的寬度

        var tableCloneCols = jQuery(table).find("thead tr:first td")

        if (colsWidths.size() > 0) {//根據(jù)瀏覽器為凍結(jié)的表頭寬度賦值(主要是區(qū)分IE8)

        for (i = 0; i < tableCloneCols.size(); i++) {

        if (i == tableCloneCols.size() - 1) {

        if (browserVersion == 8.0)

        tableCloneCols.eq(i).width(colsWidths[i] + scrollWidth);

        else

        tableCloneCols.eq(i).width(colsWidths[i]);

        } else {

        tableCloneCols.eq(i).width(colsWidths[i]);

        }

        }

        }

        //創(chuàng)建凍結(jié)表頭的DIV容器,并設(shè)置屬性

        var headerDiv = document.createElement("div");

        headerDiv.appendChild(table[0]);

        jQuery(headerDiv).css("height", tableHeaderHeight);

        jQuery(headerDiv).css("overflow", "hidden");

        jQuery(headerDiv).css("z-index", "20");

        jQuery(headerDiv).css("width", "100%");

        jQuery(headerDiv).attr("id", "tableHeaderDiv" + tableId);

        jQuery(headerDiv).Before(tableOrg.parent());

        }

        以上就是完整代碼,現(xiàn)在看下如何使用:

        只需在頁面中加入以下腳本。

        這樣就可以了,傳入表和表所在的DIV的ID就OK了,必須注意的是:要凍結(jié)的表頭必須放入到thead中,否則無法實(shí)現(xiàn)凍結(jié)。

        以上代碼在IE6,7,8測試通過,F(xiàn)F和chrome會(huì)出現(xiàn)表頭的寬度不準(zhǔn)確的問題。

      【基于jQuery的固定表格頭部的代碼】相關(guān)文章:

      jquery提交按鈕的代碼03-30

      關(guān)jQuery彈出窗口簡單實(shí)現(xiàn)代碼-javascript編程03-30

      jQuery程序設(shè)計(jì)03-30

      如何理解jquery事件冒泡03-29

      jQuery的DOM操作筆記03-29

      淺析jQuery 遍歷函數(shù)javascript03-29

      jQuery中prev()方法用法03-30

      jQuery中replaceAll()方法用法03-30

      jQuery 源碼分析和Ready函數(shù)03-29

      主站蜘蛛池模板: 成人永久福利在线观看不卡| 在线观看精品国产自拍| 污污污国产免费网站| 建昌县| 人妻少妇人人丰满视频网站| 日韩人妻无码中文字幕一区| 亚洲三区二区一区视频| 亚洲综合网一区二区三区| 亚洲AV无码成人精品区日韩密殿| 昌邑市| 汤阴县| 霍邱县| 绍兴市| 怀宁县| 东丰县| 万全县| 久久青草亚洲AV无码麻豆| 旌德县| 江源县| 精品少妇人妻久久免费| 国产啪精品视频网站免| 天长市| av在线亚洲国产精品| 国产精品一区二区久久毛片 | 欧美人与物videos另类| 久久青草国产免费观看| 肇州县| 饶阳县| 亚洲综合自拍偷拍视频| 日韩精品夜色二区91久久久| 中文字幕亚洲好看有码| 国产精品福利久久香蕉中文| 亚洲精品中文字幕无乱码麻豆| 日本视频精品一区二区| 中国免费一级毛片| 少妇被爽到自拍高潮在线观看| 亚洲视频第一页在线观看| 日产国产精品一区二区| 欧美手机在线视频| 鹤峰县| 连云港市|