5个增量后Javascript换行!

时间:2011-03-21 01:18:54

标签: javascript loops break

我被困了......再一次。 我需要使用javaScript在每5个增量后添加一个换行符。例如

img1        img2         img3         img4        img5
img6        img7         img8         img9        img10

这就是我的想法。

for (i = 0; i < blah.length; i++) {
    imgholder.innerHTML += i;
    if (i > 5) {
        imgholder.innerHTML += '<br>';
    }
}

好的,我确实意识到它不是最结构化的代码(所以我很抱歉),但它只是一个示例。 希望它有意义。随意提出更多问题以便澄清 干杯,
萨姆

4 个答案:

答案 0 :(得分:9)

这将在元素6,7,8之后中断(从零开始,因此添加1以获取图像编号)等等,因为它们所有大于5.所以你会得到:

img1   img2   img3   img4   img5   img6   img7
img8
img9
img10

您需要替换:

if (i > 5) {

使用:

if ((i % 5) == 4) {

使它在元素4(img5),9(img10),14(img15)等之后中断。

而且,既然你要求解释,模数运算符会在你进行除法时给你余数。因此,当12 % 5除以12时,5可以解决为什么。 12 / 510提供余下的2,因此12 % 52

下表可能有所帮助:

  i  | i % 5
-----+------
  0  |   0
  1  |   1
  2  |   2
  3  |   3
  4  |   4 *
  5  |   0
  6  |   1
  7  |   2
  8  |   3
  9  |   4 *
 10  |   0
 11  |   1
 12  |   2

您可以看到它在值{0, 1, 2, 3, 4}中循环播放,因此我们只需选择要插入符号的值(4之后,标有*)。

答案 1 :(得分:4)

这是技术含量低,但它会:

if(i % 5 == 4) {
    imgholder.innerHTML+='<br>';
}

答案 2 :(得分:0)

您可以在if检查中使用'模数'运算符%代替大于>

  for(i=0;i<blah.length;i++) {
    imgholder.innerHTML+=i;
    if(0 == ((i+1)%5)) {
      imgholder.innerHTML+='<br>';
    }
  }

答案 3 :(得分:0)

您正在寻找模数运算符

for(i=0;i<blah.length;i++){
  if((i+1) % 5 == 0){
    your br goes here
  }
}