如何计算需要多少行和列

时间:2013-08-11 04:57:32

标签: javascript html-table modulo

我想用Javascript生成一个表。我想给它一个数字,这就是创建了多少个单元格。但总有3列(每行3张图片)

有人可以帮我解决这个问题吗?我想我需要使用模数运算符,但我不确定如何正确使用它。

我不想要任何额外的细胞。我可以毫无问题地计算行,但如果有意义,我不希望这些行有额外的单元格。因此,一旦细胞被制成,即使它的1或2个细胞短,该行也会结束。

我现在有这个:

rows = ?? //Not sure how to calculate this
columns = 3;
str = "";
str += '<table border="1" cellspacing="1" cellpadding="5">';

for(i = 0; i < rows; i++){
   str += '<tr>';
   for (j = 0; j < columns; j++){
      str += '<td>' +  (i + j) + '</td>';
   }
   str += '</tr>';
}

str += '</table>';

3 个答案:

答案 0 :(得分:1)

我希望以下代码能够满足您的需求。

var numOfPics = 100; // Number of Pictures
var columns = 3, rows = Math.ceil(numOfPics / columns), content = "", count = 1;
content = "<table border='1' cellspacing='1' cellpadding='5'>";
for (r = 0; r < rows; r++) {
   content += "<tr>";
   for (c = 0; c < columns; c++) {
      content += "<td>" + count + "</td>";
      if (count == numOfPics)break;  // here is check if number of cells equal Number of Pictures to stop
      count++;
   }
   content += "</tr>";
}
content += "</table>";

document.body.innerHTML = content; // insert `content` value into body of page

答案 1 :(得分:0)

你知道有多少个细胞。因此,您将单元格数除以列数以获取行数。如果没有准确数量的单元格来填充行,Math.ceil()会向上舍入。

rows = Math.ceil(total_num_cells / 3);

答案 2 :(得分:0)

假如你有多少张图片为numPictures: - 然后

var numRows = Math.ceil(numPictures/3);