我正在尝试编写我的第一个JavaScript程序,这将是一个基本的数学测验,使用针对小孩的随机数字。 我点击按钮时会在HTML页面上显示随机数,但是当我输入答案并尝试使用if / else语句将用户答案与正确答案进行比较时,它没有响应。然后我尝试使用for循环,因为这是我在互联网上看到的很多但无济于事。
以下是我到目前为止编写的代码:
document.getElementById("button1").addEventListener("click", question);
var plusMinus = document.getElementById("plusMinus");
function question(){
var startButton = document.getElementById("button1");
var number1 = document.getElementById("number1");
var number2 = document.getElementById("number2");
var decider = Math.random();
button1.textContent = "Again";
number1.textContent = Math.floor(Math.random()*11);
number2.textContent = Math.floor(Math.random()*11);
if(decider<0.5){
plusMinus.textContent = "+"
}
else{plusMinus.textContent = "-"};
};
document.getElementById("button2").addEventListener("click", answer);
function answer(){
var num1 = parseInt(document.getElementById("number1").textContent, 10);
var num2 = parseInt(document.getElementById("number2").textContent, 10);
var answer = parseInt(document.getElementById("userAnswer").value, 10);
var feedBack = document.getElementById("feedBack");
var scoreReport = document.getElementById("score");
var totalScore = 0;
if (plusMinus.textContent == "+"){
if(answer == num1 + num2) {
feedBack.textContent = "Well Done!";
} else {
feedBack.textContent = "Try again!";
}
}
else {
if(answer == num1 - num2){
feedBack.textContent = "Well Done!";
} else {feedBack.textContent = "Try again!"};
}
for(count=0; count <=10; count++){
if(plusMinus == "+" && answer == num1+num2){
totalScore +1;
}
else if(plusMinus == "-" && answer == num1-num2){
totalScore -1;
}
}
scoreReport.textContent = totalScore;
};
我做了一个Jfiddle:http://jsfiddle.net/way81/r9vdLkzp/1/
感谢您给出的任何建议,感谢您抽出时间阅读我的问题。
答案 0 :(得分:1)
它似乎确实有效,但我注意到得分并没有增加。那是因为这些方面:
totalScore +1
和
totalScore -1
我认为这些实际上应该是:
totalScore++;
在成功回答时将玩家的分数提高一个。
除此之外,一切似乎都运转正常。但是,我要提一下,导致负数的减法通常不适合“小孩子”,所以考虑添加一些东西以确保更大的数字始终是第一个操作数。
答案 1 :(得分:1)
我看到你如何设置你的计数器有一些问题。例如,您在答案功能中将totalScore设置为0。你应该把它放在你的答案函数之外,以便程序在上次回答运行时“记住”它。
另一个主要问题是在你的for循环中,你只看plusMinus,而不是plusMinus.textContent。你不需要为此循环。如果你想增加它,让我们说10,你可以在显示反馈时增加分数,如下所示:
access_token
但在每个地方。我用小提琴测试了它,它按预期工作。
答案 2 :(得分:0)
我做了一个小改动,它开始为我工作。
你的按钮,
<button id = "button1">Start!</button>
和
<button id = "button2">Answer</button>
不包含类型。默认按钮类型是提交。 我把你改成了
<button type='button' id = "button1">Start!</button>
和
<button type='button' id = "button2">Answer</button>
它开始为我工作