0

我想用 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>';
4

3 回答 3

1

说如果你有图片数量为 numPictures:- 然后

var numRows = Math.ceil(numPictures/3); 
于 2013-08-11T05:02:35.407 回答
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
于 2013-08-11T05:33:19.180 回答
0

你知道有多少细胞。因此,您将单元格数除以列数以获得行数。 Math.ceil()如果没有确切数量的单元格来填充一行,则四舍五入。

rows = Math.ceil(total_num_cells / 3);

于 2013-08-11T05:02:23.087 回答