以下javascript代码用于我要求制作的“乒乓”游戏:
var final_number = document.getElementById("input").value;
var current_number = 0;
var interval = setInterval(document.getElementById("submit").onclick = function() {
document.getElementById('number').innerHTML = ++current_number;
if (current_number % 3 === 0){
document.getElementById('number').innerHTML = "ping";
}
if (current_number % 5 === 0){
document.getElementById('number').innerHTML = "pong";
}
if (current_number % 15 === 0){
document.getElementById('number').innerHTML = "ping";
document.getElementById('number').innerHTML = "pong";
}
if (current_number >= final_number){
document.getElementById('number').innerHTML = 'Game Over';
clearInterval(interval);
}
}, 1000);
从0开始计数到html格式“输入”中输入的数字,然后在达到数字时显示“Game Over”。然而,问题是它立即说“游戏结束”而根本没有计算。我认为问题在于获取表单值。直到iI引入变量“final_number”并将其放在最后一个if语句中(我之前使用的是数字50)。任何想法如何解决这个问题?
答案 0 :(得分:3)
获取值时需要使用parseInt,否则它将是一个字符串
var final_number = parseInt(document.getElementById("input").value,10);
答案 1 :(得分:1)
您正在将数字与文本进行比较,以便比较ASCII值, 我认为你需要先转换你的价值