cari

Rumah  >  Soal Jawab  >  teks badan

Soalannya masih sama, tetapi tajuk ditulis semula seperti berikut: Fungsi rawak Javascript saya gagal menghasilkan respons yang sah

Saya sedang membuat permainan penjana nombor rawak mudah menggunakan JS dan HTML. Dalam permainan ini anda boleh menetapkan nilai minimum dan maksimum nombor rawak.

Namun, apabila menetapkan pembolehubah dan merekodkan hasilnya, nombor mustahil muncul. Sebagai contoh, jika saya menetapkan nilai minimum kepada 50 dan nilai maksimum kepada 100, ia akan menunjukkan jawapan seperti 58650 , 16750 atau 31450 . Saya perhatikan bahawa nombor terkecil yang anda tetapkan sentiasa muncul pada penghujungnya. Saya telah cuba menukar format dan menukar kod tetapi nampaknya tiada apa yang berfungsi.

Ada sesiapa tahu jalan penyelesaian untuk masalah ini? Bantuan anda amat dihargai, terima kasih! !

Home.html (mungkin bukan masalahnya):

<!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粉682987577258 hari yang lalu408

membalas semua(1)saya akan balas

  • P粉310754094

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

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

    Sebagai alternatif, gunakan atribut 并访问 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

    -

    balas
    0
  • Batalbalas