2017-10-27 3 views
-2

Ich versuche, ungerade Zahlen mit for-Schleife in Javascript zu bekommen, aber ich möchte die Schleife mit Benutzereingabe beenden, und ich kann dies nicht tun, können Sie mir helfen, Freunde.Wie kann ich für Schleife mit Benutzereingabe beenden (Javascript)

ich will "x < 7" zu sein, diese "x < Eingang"

<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> 
+0

zeigen Sie uns Ihre eigenen umgesetzt Code. – Talal

+0

Hallo, bitte werfen Sie einen Blick auf [Wie Sie eine gute Frage stellen] (https://stackoverflow.com/help/how-to-ask) und helfen Sie uns, indem Sie ein [minimales vollständiges Beispiel] bereitstellen (https://stackoverflow.com/help/mcve) von dem, was Sie bisher versucht haben. –

Antwort

0

UPDATE

Nun, da Sie haben uns gesagt, was Sie wollen, hier ist meine aktualisierte Code:

Im Grunde legt es nur eine Grenze fest und ändert sie mit dem Wechsel des 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>

Alter Code

können Sie verwenden setInterval und clearInterval dies zu erreichen:

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>

0

Ich denke, das ist, was Sie versuchen, das sieht bei Ihrer Benutzereingabe und Wenn es größer als Ihr Start-Iterator ist, wird es in Schleifen umgewandelt.

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>

Verwandte Themen