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

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

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

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

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

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

        看下代碼:

        //為jquery擴(kuò)展一個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();

        });//動態(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中,否則無法實現(xiàn)凍結(jié)。

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

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

      jquery提交按鈕的代碼03-30

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

      jQuery程序設(shè)計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

      主站蜘蛛池模板: 亚洲欧美日韩精品久久亚洲区色播| 成人无码网www在线观看| 西乌珠穆沁旗| 亚洲精品日本| 日本高清中文字幕二区在线| 香蕉亚洲欧洲在线一区| 确山县| 亚洲天堂av免费在线看| 丝袜 亚洲 另类 欧美| 国产av一区二区3区| 亚洲中文字幕第二十三页| 新绛县| 华容县| 玉树县| 聂拉木县| 中国免费av网| 日本精品国产1区2区3区| 国产精品久久这里只有精品| 91极品尤物在线观看播放| 日韩精人妻无码一区二区三区| 亚洲综合一| yw193.can尤物国产在线网页| 法库县| 欧美日韩国产在线成人网| 濮阳县| 久久精品成人亚洲另类欧美| 桦甸市| 亚洲综合1区2区3区| av天堂线上| 久久青青草视频免费观看| 人妖熟女少妇人妖少妇| 日本熟妇hd8ex视频| 日本一区二区三区专区| 日本黄色一区二区三区视频| 超级碰碰人妻中文字幕| 成人自拍视频国产一区| 久久洲Av无码西西人体| 国产亚洲精选美女久久久久| 97人妻精品一区二区三区免| yy111111少妇影院| 亚洲欧美成人在线免费|