所以我有一个“滚动”骰子的功能,我正在使用netbeans来编写我的程序,所以当我写“document.getElementById”时。我没有得到“风格”选项,而是唯一的“s”是“封印”....我试图忽略它并以任何方式编写,仍然无效,这是我的代码:
<script>
function roll()
{
var firstDie = document.getElementById("dice1");
var secondDie = document.getElementById("dice2");
firstDie.innerHTML = Math.floor(Math.random() * 7);
secondDie.innerHTML = Math.floor(Math.random() * 7);
if (firstDie>secondDie)
{
document.getElementById("dice1").style.backgroundColor = "green";
}
}
</script>
</head>
<body>
<div class="game">
<div id="dice1" class="dice">0</div>
<div id="dice2" class="dice">0</div>
<div id="feed" class="feed">
<br><br>
<button onclick="roll()" id="rollButton" class="rollButton">Roll</button>
</div>
</div>
答案 0 :(得分:2)
它只是没有输入if
声明,因为domElement > otherElement
将是false
。
document.createElement('div') > document.createElement('div') //false
你想要的是:
var firstDieValue = Math.floor(Math.random() * 7),
secondDieValue = Math.floor(Math.random() * 7);
firstDie.innerHTML = firstDieValue;
secondDie.innerHTML = secondDieValue;
if (firstDieValue > secondDieValue) { ... }
另外,考虑提取骰子滚动策略,例如:
var diceRoll = randomDiceRoll(2),
firstDieValue = diceRoll[0],
secondDieValue = diceRoll[1];
function randomDiceRoll(diceCount) {
return Array.apply(0, Array(diceCount)).map(function () {
return Math.floor(Math.random() * 7);
});
}
答案 1 :(得分:1)
这是因为您没有将div值的内容解析为整数:
var a = Math.floor(Math.random() * 7);
var b = Math.floor(Math.random() * 7);
firstDie.innerHTML = a;
secondDie.innerHTML = b;
if (a>b)
{
document.getElementById("dice1").style.backgroundColor = "green";
}
}