Die Frage ist immer noch dieselbe, aber der Titel wurde wie folgt umgeschrieben: Meine Javascript-Zufallsfunktion generiert keine gültigen Antworten
P粉682987577
P粉682987577 2024-04-03 22:03:14
0
1
414

Ich mache ein einfaches Zufallszahlengenerator-Spiel mit JS und HTML. In diesem Spiel können Sie Mindest- und Höchstwerte von Zufallszahlen festlegen.

Beim Setzen der Variablen und Aufzeichnen des Ergebnisses erscheint jedoch eine unmögliche Zahl. Wenn ich beispielsweise den Mindestwert auf 50 und den Höchstwert auf 100 einstelle, werden Antworten wie 58650, 16750 oder 31450 angezeigt. Mir ist aufgefallen, dass die kleinste von Ihnen eingestellte Zahl immer am Ende erscheint. Ich habe versucht, das Format und den Code zu ändern, aber nichts scheint zu funktionieren.

Kennt jemand die Lösung für dieses Problem? Wir wissen Ihre Hilfe sehr zu schätzen, vielen Dank! !

Home.html (wahrscheinlich nicht das Problem):

<!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粉682987577
P粉682987577

Antworte allen(1)
P粉310754094

输入元素的 value 属性是字符串,因此您需要先将其转换为数字(否则,+ 执行字符串连接而不是加法)。这可以使用一元加运算符来完成,即 const usermin = +usermininput.valueconst usermax = +usermaxinput.value

或者,使用 并访问 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

-

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage