• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 基于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

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 日本一区二区三不卡高清区免费 | 亚洲中文字幕丝祙制服在线 | 欧洲一区二区精品的视频 | 在线观看亚洲一区动漫 | 一区二区免费高清在线观看国产 | 中文字幕一区二区三区日韩精品视频 |