我有一个游戏,您可以在每个回合的输入框中输入分数。我编写了一个 for 循环来添加每轮的总分,并将其显示在“总分”框中。但在本游戏中,如果您所有回合结束时的“总分”大于或等于 50,您将获得 10 分奖励。
所以我创建了另一个名为“Total”的输入框。我想创建一个 IF 语句,以便如果“总分”输入框中的数字大于或等于 50,则您的分数加上 10 分奖励将显示在其下方的“总分”框中。我怎样才能做到这一点?
这是我的代码:
//input form
Turn 1: <input onblur="findTotal()" type="text" name="qty">
<br>
Turn 2: <input onblur="findTotal()" type="text" name="qty">
<br>
Trun 3: <input onblur="findTotal()" type="text" name="qty">
<br>
<b>Total Score:</b> <input type="text" name="TotalScore" id="TotalScore">
<br>
Bonus (+10): <input type="text" name="bonus">
<br>
<b>Total:</b> <input type="text" name="Total">
//for loop
function findTotal() {
var arr = document.getElementsByName('qty');
var tot = 0;
for (var i = 0; i < arr.length; i++) {
if (parseInt(arr[i].value))
tot += parseInt(arr[i].value);
}
document.getElementById('Total').value = tot;
}
onblur = "findTotal()"
//my attempt at the IF statement ("alert hello" is just a place holder)
var tots = document.getElementById('TotalScore');
if (tots.value >= 50) {
alert("hello");
}
最佳答案
您可以尝试在 findTotal
函数结束时检查用户是否获得了奖金(您刚刚完成了总分
的计算):
function findTotal() {
var arr = document.getElementsByName('qty');
var tot = 0;
for (var i = 0; i < arr.length; i++) {
if (parseInt(arr[i].value))
tot += parseInt(arr[i].value);
}
document.getElementById('TotalScore').value = tot;
var bonus = tot >= 50 ? 10 : '';
document.getElementById('bonus').value = bonus;
document.getElementById('Total').value = tot + bonus;
}
Turn 1: <input onblur="findTotal()" type="text" name="qty">
<br> Turn 2: <input onblur="findTotal()" type="text" name="qty">
<br> Turn 3: <input onblur="findTotal()" type="text" name="qty">
<br>
<b>Total Score: </b> <input disabled="true" type="text" name="TotalScore" id="TotalScore">
<br> Bonus: <input disabled="true" type="text" id="bonus">
<br>
<b>Total:</b> <input disabled="true" type="text" id="Total">
关于javascript - 我需要帮助在 JS 中编写这个 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45317851/