Maison > Questions et réponses > le corps du texte
Je crée un simple jeu générateur de nombres aléatoires en utilisant JS et HTML. Dans ce jeu, vous pouvez définir des valeurs minimales et maximales de nombres aléatoires.
Cependant, lors du réglage de la variable et de l'enregistrement du résultat, un nombre impossible apparaît. Par exemple, si je définis la valeur minimale sur 50 et la valeur maximale sur 100, des réponses telles que 58650 , 16750 ou 31450 s'afficheront. J'ai remarqué que le plus petit nombre que vous définissez apparaît toujours à la fin. J'ai essayé de changer le format et de changer le code mais rien ne semble fonctionner.
Quelqu'un connaît-il la solution à ce problème ? Votre aide est grandement appréciée, merci ! !
Home.html (ce n'est probablement pas le problème) :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Random Number Generator</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1 class="Title">Random Number Generator</h1> <hr> <div class="container"> <p> Enter 2 numbers that you want the random number to be in between</p> <p id="result" class="hide"></p> <div class="container2"> <input id="inputmin" class="numinput" type="text"> <p>-</p> <input id="inputmax" class="numinput" type="text"> </div> <button id="submitbtn" class="submitbtn">Generate</button> </div> <script src="/Home.js"></script> </body> </html>
Home.js :
const usermininput = document.getElementById("inputmin") const usermaxinput = document.getElementById("inputmax") const usersubmitBtn = document.getElementById("submitbtn") const result = document.getElementById("result") function random(min, max) { return Math.floor(Math.random() * max) + min; } usersubmitBtn.addEventListener("click", () =>{ const usermin = usermininput.value const usermax = usermaxinput.value console.log(random(usermin,usermax)) })
P粉3107540942024-04-04 10:39:25
Le value
属性是字符串,因此您需要先将其转换为数字(否则,+
执行字符串连接而不是加法)。这可以使用一元加运算符来完成,即 const usermin = +usermininput.value
和 const usermax = +usermaxinput.value
de l'élément d'entrée.
Vous pouvez également utiliser l'attribut 并访问
valueAsNumber
.
const usermininput = document.getElementById("inputmin") const usermaxinput = document.getElementById("inputmax") const usersubmitBtn = document.getElementById("submitbtn") const result = document.getElementById("result") function random(min, max) { return Math.floor(Math.random() * max) + min; } usersubmitBtn.addEventListener("click", () => { const usermin = usermininput.valueAsNumber; const usermax = usermaxinput.valueAsNumber; console.log(random(usermin, usermax)); })
Random Number Generator
Enter 2 numbers that you want the random number to be in between
-