Maison  >  Questions et réponses  >  le corps du texte

La question est toujours la même, mais le titre est réécrit comme suit : Ma fonction aléatoire Javascript ne parvient pas à générer des réponses valides

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粉682987577P粉682987577179 Il y a quelques jours289

répondre à tous(1)je répondrai

  • P粉310754094

    P粉3107540942024-04-04 10:39:25

    Le value 属性是字符串,因此您需要先将其转换为数字(否则,+ 执行字符串连接而不是加法)。这可以使用一元加运算符来完成,即 const usermin = +usermininput.valueconst 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

    -

    répondre
    0
  • Annulerrépondre