问题仍然是原来的,但标题重写如下:My Javascript random function fails to generate valid responses
P粉682987577
P粉682987577 2024-04-03 22:03:14
0
1
376

我正在使用 JS 和 HTML 制作一个简单的随机数生成器游戏。在这个游戏中,您可以设置随机数的最小值和最大值。

但是,当设置变量并记录结果时,出现了不可能的数字。例如,如果我将最小值设置为 50,最大值设置为 100,则会显示 58650 、 16750 或 31450 等答案。我注意到你设置的最小数字总是出现在最后。我尝试过更改格式并更改代码,但似乎没有任何效果。

有谁知道这个问题的解决办法吗?非常感谢您的帮助,谢谢!!

Home.html(可能不是问题):

<!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

全部回复(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

-

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板