Tidak ada kesalahan pada plnkr.co, namun tombol div masih tidak berfungsi.

1) Apakah saya di jalur yang benar untuk menarik dua angka acak dari dua array, menambahkannya dan mengembalikan hasilnya ketika tombol diklik. 2) Saya melihat kesalahan yang tidak terdefinisi ketika saya menjalankan kode di sini, tetapi saya tidak yakin apa yang harus dipecahkan. Kode tidak memberikan kesalahan pada plnkr.co.

//button event will generate 2 random numbers and add them together

var num1 = [1,2,3,4,5,6];
var num2 = [1,2,3,4,5,6];
//var sum1 = [2,3,4,5,6,7,8,9,10,11,12]
//var sum2 = num1 + num2

function rollDice(){
	var	randomNumber = Math.floor(Math.random()*(num1 + num2));
	document.getElementById("roll").innerHTML = randomNumber[rollDice];
	}
body {
    background-color: darkred;
}

h1 {
    color: white;
    text-align: center;
}

p {
   color: white;
   font-family: verdana;
    font-size: 20px;
}
<!DOCTYPE html>
<html lang="en-US">
<head>
	<meta charset="utf-8">
	<title>JavaScript Craps using arrays</title>
	<link rel="stylesheet" href="random.css">
	<script src="craps.js"></script>
	
</head>
<body>
<h1> Craps Lounge</h1>

<div id="button">
<button onclick="randomNumber()">Roll the Bones</button>
</div>

<p id="roll"></p>

</body>
</html>
0
liquidsolomon 10 Agustus 2017, 22:59

2 jawaban

Jawaban Terbaik

Beberapa masalah dengan kode Anda:

  • Anda harus benar-benar memanggil fungsi rollDice() .

  • Anda tidak dapat menemukan randomNumber seperti itu, Anda memerlukan dua indeks acak untuk memilih dua angka dari dua array yang telah Anda tetapkan. anda dapat menggunakan Math.random() untuk ini, seperti pada kode di bawah ini:

  • randomNumber[rollDice] salah karena randomNumber adalah angka dan bukan objek.
//button event will generate 2 random numbers and add them together

var num1 = [1,2,3,4,5,6];
var num2 = [1,2,3,4,5,6];
//var sum1 = [2,3,4,5,6,7,8,9,10,11,12]
//var sum2 = num1 + num2

function rollDice(){
    var randomIndex1 = Math.floor(Math.random()*num1.length);
    var randomIndex2 = Math.floor(Math.random()*num2.length);
	var	randomNumber = num1[randomIndex1] + num2[randomIndex2];
	document.getElementById("roll").innerHTML = randomNumber;
	}
body {
    background-color: darkred;
}

h1 {
    color: white;
    text-align: center;
}

p {
   color: white;
   font-family: verdana;
    font-size: 20px;
}
<!DOCTYPE html>
<html lang="en-US">
<head>
	<meta charset="utf-8">
	<title>JavaScript Craps using arrays</title>
	<link rel="stylesheet" href="random.css">
	<script src="craps.js"></script>
	
</head>
<body>
<h1> Craps Lounge</h1>

<div id="button">
<button onclick="rollDice()">Roll the Bones</button>
</div>

<p id="roll"></p>

</body>
</html>
0
Dij 10 Agustus 2017, 20:07

Saya melihat beberapa hal. Saya refactored ke apa yang saya yakin Anda coba capai.

//button event will generate 2 random numbers and add them together

var num1 = [1, 2, 3, 4, 5, 6];
var num2 = [1, 2, 3, 4, 5, 6];
//var sum1 = [2,3,4,5,6,7,8,9,10,11,12]
//var sum2 = num1 + num2

function rollDice() {
  
  //random # between 1 and 6
  var dice1 = Math.floor((Math.random() * num1.length) + 1);
  var dice2 = Math.floor((Math.random() * num2.length) + 1);
  
  var randomNumber = dice1 + dice2;
  document.getElementById("roll").innerHTML = randomNumber;
}
body {
    background-color: darkred;
}

h1 {
    color: white;
    text-align: center;
}

p {
   color: white;
   font-family: verdana;
    font-size: 20px;
}
<!DOCTYPE html>
<html lang="en-US">
<head>
	<meta charset="utf-8">
	<title>JavaScript Craps using arrays</title>
	
</head>
<body>
<h1> Craps Lounge</h1>

<div id="button">
<button onclick="rollDice()">Roll the Bones</button>
</div>

<p id="roll"></p>

</body>
</html>
0
Donald Powell 10 Agustus 2017, 20:11