最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

HTML Table 空白單元格補(bǔ)全的實(shí)現(xiàn)方法

  發(fā)布時(shí)間:2020-07-31 17:10:21   作者:sp42a   我要評(píng)論
這篇文章主要介紹了HTML Table 空白單元格補(bǔ)全的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在最初自學(xué) Web 開發(fā)的時(shí)候,那時(shí)沒有所謂的 DIV/CSS 布局,一概 Table 布局的天下。當(dāng)時(shí)有個(gè)問(wèn)題就來(lái)了,如何補(bǔ)全宮格空白的單元格呢?——這是我在弄公司產(chǎn)品頁(yè)頭痛的問(wèn)題。因?yàn)槲也皇菍W(xué)程序出身的,碰到這稍帶算法的問(wèn)題,就束手無(wú)策了,呵呵。順帶說(shuō)說(shuō),記得分頁(yè)的算法還折騰了我一下呢。

所謂宮格,就是說(shuō)表格,3 行x 4 列 = 共12 單元格。如果只有 10 個(gè)產(chǎn)品,就只能填充表格 10 個(gè)單元格,其余的為空白。雖然空白,但也要渲染 <td></td> 元素,不然 table 會(huì)看起來(lái)會(huì)走樣。寫死當(dāng)然可以,但問(wèn)題 table 都是經(jīng)過(guò) ASP 動(dòng)態(tài)渲染的。所以怎么計(jì)算,怎么該顯示空白 td 就是個(gè)問(wèn)題。我當(dāng)時(shí)想了幾個(gè)方法,回想起來(lái)很當(dāng)然很不是合理,總之都是死馬當(dāng)活馬醫(yī)……能顯示就行……呵呵。

后來(lái)到了 DIV/CSS 時(shí)代,Table 遭棄用。于是該算法也沒關(guān)心了。——再后來(lái)一次項(xiàng)目中,發(fā)現(xiàn) table 布局仍然適用的,于是就琢磨了一下這小問(wèn)題。用 JS 動(dòng)態(tài)控制的代碼如下:

/**
 * @class renderTable
 * 輸入一個(gè)數(shù)組 和 列數(shù),生成一個(gè)表格 table 的 markup。
 * @param {Array} list
 * @param {Number} cols
 * @param {Function} getValue
 */
define(function(require, exports, module) {
 module.exports = function (list, cols, getValue){
  this.list = list;
  this.cols = cols || 5;
  
  this.getValue = getValue || this.getValue;
 }
 
 module.exports.prototype = (new function(){
  this.render = function(list){
   list = list || this.list;
   
   var len = list.length ;
   var cols = this.cols;// 位數(shù)
   var rows;
   var remainder = len % cols;
   var htmls = [];
    rows = len / remainder;
    
   if(remainder == 0){ // 可整除 無(wú)余數(shù) 直接處理
    list.forEach(addTr.bind({
     cols : cols,
     htmls: htmls,
     getValue : this.getValue
    }));
   }else{ // 處理余數(shù)部分
    var remainnerArr = list.splice(list.length - remainder);
    
    list.forEach(addTr.bind({
     cols : cols,
     htmls: htmls,
     getValue : this.getValue
    }));
   
    // 填空位
    var emptyArr = new Array(cols - remainnerArr.length);
    emptyArr = emptyArr.join('empty');
    emptyArr = emptyArr.split('empty');
    // 余數(shù)部分 + 空位
    remainnerArr = remainnerArr.concat(emptyArr);
    
    if(remainnerArr.length != cols){
     throw '最后一行長(zhǎng)度錯(cuò)誤!長(zhǎng)度應(yīng)該為' + cols;
    }
    remainnerArr.forEach(addTr.bind({
     cols : cols,
     htmls: htmls,
     getValue : this.getValue
    }));
   }
   
   
   return addTable(htmls.join(''));
  }
  
  /**
   * 默認(rèn)的獲取顯示值的函數(shù)。一般要覆蓋該函數(shù)。
   * @param {Mixed}
   * @return {String}
   */
  this.getValue = function(data){
   return data;
  }
   
  /**
   * 為每個(gè)值加個(gè) <td></td>。若滿一行加一個(gè) </tr></tr>
   * @param {Mixed} item
   * @param {Number} i
   * @param {Array} arr
   */
  function addTr(item, i, arr){
   var html = '<td>' + this.getValue(item) + '</td>';
   
   if(i == 0){
    html = '<tr>' + html;
   }else if((i + 1) % this.cols == 0 && i != 0){
    html += '</tr><tr>';
   }else if(i == arr.length){
    html += '</tr>';
   }
   
   this.htmls.push(html);
  }
  
  /**
   * 
   * @param {String} html
   */
  function addTable(html){
   return '<table>' + html + '</table>';
 //  var table = document.createElement('table');
 //  table.innerHTML = html;
 //  table.border="1";
 //  document.body.appendChild(table);
  }
 });
});

大大們可能覺得這可是一閃而過(guò)就有思路的問(wèn)題……但我那時(shí)畢竟是在轉(zhuǎn)行……稍有點(diǎn)“技術(shù)含量”的問(wèn)題都成了我的攔路虎……

2019-5-18 JSTL 的方式:

<%
 // 空白單元格補(bǔ)全
 String tds = ""; int maxTds = 9; 
 List<?> list = (List<?>)request.getAttribute("list");
 for(int i = 0; i < (maxTds - list.size()); i++ ) {
  tds += "<td></td>";
 }
 
 request.setAttribute("tds", tds);
%>
  <table>
   <tr>
    <c:foreach items="${list}" var="item">
     <td>
      <h3>${item.name}----${totalCount}</h3>
      <p></p>
      <div></div>
     </td>
     <c:if test="${((currentIndex + 1) % 3) == 0}">
   </tr>
   <tr>
    </c:if>
    <c:if test="${((currentIndex + 1) == totalCount) && (totalCount != 9)}">
     ${tds}
    </c:if>
    </c:foreach>
   </tr>
  </table>

到此這篇關(guān)于HTML Table 空白單元格補(bǔ)全的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)HTML Table 空白單元格補(bǔ)全內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • html解決table設(shè)置寬度無(wú)效的問(wèn)題

    這篇文章主要介紹了html解決table設(shè)置寬度無(wú)效的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)
    2020-07-30
  • 詳解html中表格table的行列合并問(wèn)題解決

    這篇文章主要介紹了詳解html中表格table的行列合并問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)
    2020-07-28
  • html table實(shí)現(xiàn)復(fù)雜表頭的示例代碼

    這篇文章主要介紹了html table實(shí)現(xiàn)復(fù)雜表頭的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)
    2020-06-28
  • Table自適應(yīng)以及溢出的一些設(shè)置詳解

    這篇文章主要介紹了Table自適應(yīng)以及溢出的一些設(shè)置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)
    2020-06-18
  • HTML頁(yè)面自適應(yīng)寬度的table(表格)

    這篇文章主要介紹了HTML頁(yè)面自適應(yīng)寬度的table(表格),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)
    2020-06-16
  • HTML table 表格邊框的實(shí)現(xiàn)思路

    本文通過(guò)實(shí)例代碼給大家介紹了HTML table 表格邊框的實(shí)現(xiàn)思路,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-10-12
  • html Table 表頭固定的實(shí)現(xiàn)

    這篇文章主要介紹了html Table 表頭固定的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)
    2019-01-22
  • CSS設(shè)置table下tbody的滾動(dòng)條的實(shí)現(xiàn)

    這篇文章主要介紹了CSS設(shè)置table下tbody的滾動(dòng)條的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起
    2018-11-29
  • 詳解CSS的table-layout屬性的用法

    今天給大家詳細(xì)說(shuō)一下table-layout屬性的用法, tableLayout屬性用來(lái)顯示表格單元格、行、列的算法規(guī)則。本文通過(guò)實(shí)例代碼給大家介紹了CSS的table-layout屬性的用法,需要
    2018-01-17
  • html中table表格的內(nèi)容水平和垂直居中顯示

    這篇文章主要介紹了html中table表格的內(nèi)容水平和垂直居中顯示的相關(guān)資料,需要的朋友可以參考下
    2017-03-27

最新評(píng)論

漳州市| 分宜县| 广州市| 当阳市| 郁南县| 梧州市| 建平县| 泰顺县| 浙江省| 泰宁县| 时尚| 锦屏县| 新乡市| 清镇市| 且末县| 南昌县| 阿鲁科尔沁旗| 富蕴县| 河西区| 和平县| 岢岚县| 永平县| 伊宁市| 且末县| 横山县| 界首市| 连城县| 南澳县| 闻喜县| 宝丰县| 青阳县| 牙克石市| 南溪县| 宜阳县| 涡阳县| 彩票| 镇宁| 康乐县| 德钦县| 竹山县| 正镶白旗|