繁体   English   中英

如何使用用户输入(Javascript)终止 for 循环

[英]How can i terminate for loop with user input (Javascript)

我试图在 javascript 中使用 for 循环获取奇数,但我想用用户输入终止循环,我不能这样做,你能帮助我吗朋友。

我希望“ x<7”成为这个“x <输入”

<html>

<head>

<body>

<input id="numbers" type="number">
<button onclick="odd()">Odd Numbers</button>
<p id="demo"></p>
<script>
function odd() {
var text = " ";
var x;
for ( x = 1; x < 7; x+= 2) {
    text += x + " ";
}
document.getElementById("demo").innerHTML =+ text;
}
</script>

</body>

</head>

</html>

更新

现在你已经告诉我们你想要什么,这是我更新的代码:

基本上它只是设置一个限制并随着div的变化而改变它

 <html> <head> <body> <input id="numbers" type="number" onChange="change()"> <button onclick="odd()">Odd Numbers</button> <p id="demo"></p> <script> var lim=7; function change() { lim = document.getElementById("numbers").value; } function odd() { var text = " "; var x; for ( x = 1; x < lim; x+=2) { text += x + " "; } document.getElementById("demo").innerHTML += text; } </script> </body> </head> </html>

旧代码

您可以使用setIntervalclearInterval来实现这一点:

 var i = 1; var myInt = setInterval(function(){ document.getElementById("div").innerHTML += i; i+=2; }, 100);
 <button onClick="clearInterval(myInt)">STOP</button> <div id="div"></div>

我认为这就是你想要的,这会查看你的用户输入,如果它大于你的起始迭代器,它就会循环。

 const button = document.querySelector('.go'); button.addEventListener('click', e => { const input = document.getElementById('numbers'); const output = document.getElementById('demo'); if (input.value == 0) { return; } for (let i = 0, len = input.value; i <= len; i++) { if (i % 2 === 1) { output.textContent += i.toString(); } } });
 <html> <head> <body> <input id="numbers" type="number"> <button class='go'>Odd Numbers</button> <p id="demo"></p> </body> </head> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM