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