Я пытаюсь написать свою первую программу JavaScript, которая будет базовой математической викториной с использованием случайных чисел, направленных на маленьких детей. У меня есть случайные числа, которые появляются на странице HTML одним нажатием кнопки, но когда я ввожу ответ и пытаюсь использовать оператор if/else, чтобы сравнить ответ пользователя с правильным ответом, он не реагирует. Затем я попытался использовать цикл for, поскольку это то, что я видел много в Интернете, но безрезультатно.Ванильный счетчик JavaScript в викторине
Вот код, который я написал до сих пор:
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/
Я признателен за любые советы, данные и спасибо за ваше время в чтении моего вопроса.
Попробуйте найти место, где ваш код не удался. Вы можете отлаживать с помощью 'console.log()'. Вставьте этот оператор, чтобы проверить значения переменных. * Ex: * 'console.log (answer);' и он выведет значение ответа. ** Предупреждение **: Вы использовали одно и то же имя переменной для своей функции и имя переменной 'answer'. – Ibu