5 个增量后 JavaScript 换行!

发布于 2024-10-23 18:47:37 字数 464 浏览 4 评论 0原文

我又被困住了....。 我需要使用 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>';
    }
}

好吧,我确实意识到这不是最结构化的代码(所以我很抱歉),但它只是一个示例。 希望这是有道理的。请随时提出更多问题以进行澄清。
干杯,
山姆

I'm stuck.... Yet again.
I need to add a line break after every 5 increments using javaScript. For example

img1        img2         img3         img4        img5
img6        img7         img8         img9        img10

Here is what i was thinking of.

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

Ok, I do realize it is not the most structured piece of code (so I'm sorry), but it is just a sample.
Hope it made sense. Feel free to ask more questions for clarification.
Cheers,
Sam

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

深者入戏 2024-10-30 18:47:37

这将在元素 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 / 5 为您提供 10,余数为 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,用*标记)。

That will break after element 6, 7, 8 (zero-based, so add 1 to get the image number) and so forth since they're all greater than 5. So you'll get:

img1   img2   img3   img4   img5   img6   img7
img8
img9
img10

You need to replace:

if (i > 5) {

with:

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

so that it breaks after element 4 (img5), 9 (img10), 14 (img15) and so on.

And, since you asked for an explanation, the modulo operator gives you the remainder when you do a division. So 12 % 5 can be worked out as what's left over when you divide 12 by 5. 12 / 5 gives you 10 with a remainder of 2, so 12 % 5 is 2.

The following table may help:

  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

You can see it cycling through the values {0, 1, 2, 3, 4} so we just have to pick the value where you want to insert the breaks (after 4, marked with *).

怎言笑 2024-10-30 18:47:37

这是低技术含量,但它可以:

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

This is low tech, but it will do:

if(i % 5 == 4) {
    imgholder.innerHTML+='<br>';
}
云朵有点甜 2024-10-30 18:47:37

您可以在 if 检查中使用“取模”运算符 % 而不是大于 >

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

You can use the 'modulus' operator, % instead of greater-than > in your if check.

  for(i=0;i<blah.length;i++) {
    imgholder.innerHTML+=i;
    if(0 == ((i+1)%5)) {
      imgholder.innerHTML+='<br>';
    }
  }
你怎么这么可爱啊 2024-10-30 18:47:37

您正在寻找模运算符

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

You're looking for the modulus operator

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文