<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于jQuery的固定表格頭部的代碼

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

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

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

      這樣實現了表頭的凍結,下面表體內容可以自由滾動

      看下代碼:

      //為jquery擴展一個CloneTableHeader 方法

      復制代碼 代碼如下:

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

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

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

      if (obj) {

      jQuery(obj).remove();

      }

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

      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);//獲取表內容

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

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

      //注意:需要將要凍結的表頭放入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();

      });//動態獲取每一列的寬度

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

      if (colsWidths.size() > 0) {//根據瀏覽器為凍結的表頭寬度賦值(主要是區分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]);

      }

      }

      }

      //創建凍結表頭的DIV容器,并設置屬性

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

      }

      以上就是完整代碼,現在看下如何使用:

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

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

      以上代碼在IE6,7,8測試通過,FF和chrome會出現表頭的寬度不準確的問題。

    【基于jQuery的固定表格頭部的代碼】相關文章:

    jquery提交按鈕的代碼03-30

    關jQuery彈出窗口簡單實現代碼-javascript編程03-30

    jQuery程序設計03-30

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

    jQuery的DOM操作筆記03-29

    淺析jQuery 遍歷函數javascript03-29

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

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

    jQuery 源碼分析和Ready函數03-29

    主站蜘蛛池模板: 欧美精品久久久久久久自慰| 国产成人精品久久一区二区三区 | 欧美日韩国产精品| 国产精品臀控福利在线观看| 亚洲精品午夜无码电影网| 久久国产乱子伦精品免费午夜| 日韩精品成人一区二区三区| 国产探花在线精品一区二区| 亚洲色精品vr一区二区三区| 国产亚洲精品免费视频播放| 国产高清在线精品一区| 日产精品久久久一区二区| 免费精品久久久久久中文字幕| 亚洲午夜久久久精品影院| 92国产精品午夜福利| 久久国产精品一国产精品金尊| 亚洲日韩国产精品第一页一区| 欧美精品一区二区久久| 久久国产精品偷99| 久久国产精品国语对白| 精品国产福利盛宴在线观看| 国产在AJ精品| 国产精品亚洲产品一区二区三区| 国产成人高清精品免费观看| 日韩精品一区二区三区大桥未久| 国产精品久久自在自线观看| 97精品国产手机| 韩国精品欧美一区二区三区| 2022国产精品福利在线观看| 99re6在线视频精品免费| 第一福利永久视频精品| 51午夜精品免费视频| 国产成人精品免费视 | 久久精品中文騷妇女内射| 三上悠亚久久精品| 人妻少妇精品视频一区二区三区| 亚洲AV永久青草无码精品| 嫖妓丰满肥熟妇在线精品| 精品无人码麻豆乱码1区2区| 国内精品久久久久久99| 国产精品成人免费福利|