Javascript 无法解决这个简单的错误
第一次在这里发布。从我朋友那里得到一个提示,问你们这些家伙会很好 所以问题是我已经做了一个测试页面,除了样式,我几乎都做了。 但我有一个我无法解决的错误,我的朋友也无法解决 测验是这样的 你可以得到一张照片、一张收据和4个答案供你选择。 选择一张后,您将获得一张新图片并重新打印 看完10张照片后,你应该会得到分数 这就是问题所在。不知何故,计算正确答案的变量显示出高得离谱的数字 例如:如果你对所有的问题都答对了,你将从10个答案中得到257个正确答案 我已经做了一个测试页面,除了样式之外,我已经做了很多。 但我有一个我无法解决的错误,我的朋友也无法解决 测验是这样的 你可以得到一张照片、一张收据和4个答案供你选择。 选择一张后,您将获得一张新图片并重新打印 看完10张照片后,你应该会得到分数 这就是问题所在。不知何故,计算正确答案的变量显示出高得离谱的数字 例如:如果你对所有的问题都答对了,你将从10个答案中得到257个正确答案 我不知道是什么原因造成的。但它可能是在循环if-else语句 ,这样你就可以自己测试它了 main.js代码Javascript 无法解决这个简单的错误,javascript,jquery,Javascript,Jquery,第一次在这里发布。从我朋友那里得到一个提示,问你们这些家伙会很好 所以问题是我已经做了一个测试页面,除了样式,我几乎都做了。 但我有一个我无法解决的错误,我的朋友也无法解决 测验是这样的 你可以得到一张照片、一张收据和4个答案供你选择。 选择一张后,您将获得一张新图片并重新打印 看完10张照片后,你应该会得到分数 这就是问题所在。不知何故,计算正确答案的变量显示出高得离谱的数字 例如:如果你对所有的问题都答对了,你将从10个答案中得到257个正确答案 我已经做了一个测试页面,除了样式之外,我已经
每次问题更改时,您都会将onclick事件添加到按钮中。因此,单击事件每次激发的次数越来越多
我进行了测试和验证。这就是问题所在。您可以解除绑定、重新绑定事件,或者将.on call移动到当前调用之外。@user:请访问此站点片刻:它将帮助您发布格式清晰的代码。这是学习调试器工具的绝佳时机!如果您使用的是Chrome,请打开inspector,在Sources选项卡中打开Javascript,找到添加到分数的行,然后单击该行旁边的行号。现在,当您的程序执行该行时,它将暂停,让您检查发生了什么以及它是如何到达那里的。与此问题无关,但请从第一行代码中删除$。您实际上是在告诉jQuery在页面准备就绪时执行undefined,而我相信您的意图只是创建一个基本作用域。谢谢大家!你真了不起!我对javascript有点陌生,对错误视而不见^^^希望我现在能解决这个问题,如果我能找到我应该写什么的话。谢谢!你们太棒了。现在我将试着找出我应该如何实现这些更改:没问题,很乐意帮助
(function () {
var numberOfQuestions = 10;
var atQuestion = 0;
var correctAnswers = 0;
var questions = "";
var askQuestion = function (question, atQuestion) {
//
//console.log(question.name + " "+ atQuestion);
$("#content img").attr("src", question.path);
$("#recipe").html(question.recept)
$("#btn1").html(question.Alt1);
$("#btn2").html(question.Alt2);
$("#btn3").html(question.Alt3);
$("#btn4").html(question.name);
$("#content").show();
$("#start").hide();
$("#btn1, #btn2, #btn3, #btn4").on("click", function (e) {
$("#content").hide();
var rightAnswer = question.name;
if (rightAnswer == $(e.target).html()) {
correctAnswers++;
//console.log("rätt svart är" + $(e.target).html());
} else {
// console.log("fel svar");
}
var quests = JSON.parse(localStorage.getItem('qz'));
atQuestion = atQuestion + 1;
//console.log("atquestion: " + atQuestion);
if (atQuestion === numberOfQuestions) {
//console.log("Game over");
$("#heads_up").html("you had: " + correctAnswers + " correct answers out of " + numberOfQuestions);
$("#mainQuestion").hide();
//atQuestion = 0;
//correctAnswers = 0;
} else {
askQuestion(quests[atQuestion], atQuestion);
}
});
};
$(document).ready(function () {
$("#start").hide();
$("#content").hide();
$("#RestartBtn").hide();
$("#mainQuestion").hide();
$("#start").on("click", function () {
$("#mainQuestion").show();
$("#RestartBtn").show();
questions = localStorage.getItem('qz');
var qObjs = JSON.parse(questions);
atQuestion = 0;
askQuestion(qObjs[atQuestion], atQuestion);
});
});
$.ajaxSetup({
url: "../get_quiz.php",
type: "GET",
headers: {
"Accept": "application/json",
"Content-type": "application/x-www-form-urlencoded"
}
});
$.ajax({
success: function (data) {
var jsonObj = JSON.parse(data);
//console.log(jsonObj);
localStorage.setItem('qz', JSON.stringify(jsonObj));
$("#start").show();
},
error: function (object, data) {
alert("The quiz coulnd't load!");
},
})
}());