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)) })
Le
value
属性是字符串,因此您需要先将其转换为数字(否则,+
执行字符串连接而不是加法)。这可以使用一元加运算符来完成,即const usermin = +usermininput.value
和const usermax = +usermaxinput.value
de l'élément d'entrée.Vous pouvez également utiliser l'attribut
并访问
valueAsNumber
.