我可以使用forclick循环来写出多个结果吗?

时间:2016-10-06 22:57:58

标签: javascript

抱歉我的英文。 想要在for循环的帮助下写出数字(0,3,6,9 ...... 27),但似乎比我想象的要难。谢谢您的帮助。 我发现了类似的问题:For loop onclick button



function count() {
  var i = 0;
  if (i < 10) {
    document.getElementById("demo").innerHTML = (i * 3);

  } else {
    document.getElementById("demo").innerHTML = "nothing";
  }
  i++;
}
&#13;
<div>
  <h1>This is a Heading</h1>
  <h1 onclick="count()"><span>Click on me</span></h1> 
  <br/>
  <p id="demo"></p>
</div>
&#13;
&#13;
&#13;

View on JSFiddle

2 个答案:

答案 0 :(得分:2)

如果我理解正确,我认为你不需要for循环 每次调用函数时,您当前的代码都会定义i=0 您只需要在函数之外定义i变量,这样就可以正确递增。

&#13;
&#13;
var i = 0;

function count() {
  if (i < 10) {
    document.getElementById("demo").innerHTML = (i * 3);
  } else {
    document.getElementById("demo").innerHTML = "nothing";
  }
  i++;
}
&#13;
<div>
  <h1>This is a Heading</h1>
  <h1 onclick="count()"><span>Click on me</span></h1> 
  <br/>
  <p id="demo"></p>
</div>
&#13;
&#13;
&#13;

或者,每次点击时将计数器增加3。下面,我使用ternary operator。它说,&#34;如果i小于27,则添加三个。否则,将其设置为&#39; no&#39;。&#34;

&#13;
&#13;
var i = 0,
    output = document.getElementById('output');

function increment() {
  i = i < 27 ? i + 3 : 'nothing';
  output.innerHTML = i;
}

document.getElementById('trigger').addEventListener('click', increment);
&#13;
<h1 id="trigger">Click on me</h1> 
<p id="output">0</p>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

这样的事情怎么样:

function count() {
  for (i=0; i<10; i++) {
    document.getElementById("demo").innerHTML += (i * 3)
  }
}