我正在做投币游戏。
我有一个数学生成器代码,可以生成1到0之间的数字。
如果为1,则score1
+1点,否则score2
+1点。
但是,它仅在数字为1时起作用。当数字为0时,它不会更改第二个乐谱的数字。
else(random == 0) {
document.getElementById("score2").innerHTML = score2++;
)
var score1 = 1;
var score2 = 2;
function flipping() {
var min = 0;
var max = 1;
var random = Math.floor(Math.random() * 2);
document.getElementById("result").innerHTML = random;
document.getElementById("result").target = "random";
if (random == 1) {
document.getElementById("score1").innerHTML = score1++;
} else {
document.getElementById("score2").innerHTMl = score2++;
}
}
<div class="game">
<div class="box2">
<span id="score1"></span>
<span id="score2"></span>
</div>
<div id="resmarg">
Result: <span id="result"></span>
</div>
<button id="play" onclick="flipping()">Play</button>
</div>
值为1时,第一个得分为+1分,值为0时,第二个得分为+1
答案 0 :(得分:0)
有些事情要解决您现有的代码,以下是要解决的要点:
innerHTMl
而不是innerHTML
的错字。score1++
和score2++
分别更改为++score1
和++score2
。这样做的原因是,否则,由于n++
将值递增并返回上一个值,您将打印score1和score2的旧值。 strong>,而++n
增加并返回更新的值。除此之外,我不确定为什么初始分数是1和2,但这仍然是有效代码:
var score1 = 1;
var score2 = 2;
function flipping() {
var min = 0;
var max = 1;
var random = Math.floor(Math.random() * 2);
document.getElementById("result").innerHTML = random;
document.getElementById("result").target = "random";
if (random == 1){
document.getElementById("score1").innerHTML = ++score1;
}else{
document.getElementById("score2").innerHTML = ++score2;
}
}
document.addEventListener('DOMContentLoaded', function(event){
document.getElementById("score1").innerHTML = score1;
document.getElementById("score2").innerHTML = score2;
});
<div class="game">
<div class="box2">
Score 1:
<span id="score1"></span><br />
Score 2:
<span id="score2"></span>
</div>
<div id="resmarg">
Result: <span id="result"></span>
</div>
<button id="play" onclick="flipping()">Play</button>
</div>