我在下面为一个简单的数学游戏编写了经过修改/编辑的代码。您输入要解决的金额,然后解决!
我现在遇到的问题是,最后只显示分数。
我试图让它不仅显示分数,而且显示您输入要解决的问题的数量。因此,在输入正确的问题中,更多的是“您获得了”分数。下面是代码和小提琴的链接。
http://jsfiddle.net/justinw001/Mttw6/12/
$(function () {
var score = 0;
var questions = [];
$('#gen').click(function () {
score = 0;
questions = [];
var questionAmount = parseInt($('#inputElement').val(), 10);
for (var i = 0; i < questionAmount; i++) {
var q = {
x: Math.floor(Math.random() * 13),
y: Math.floor(Math.random() * 13)
};
questions.push(q);
}
nextQuest(questions.pop());
});
$('#sub').click(function () {
var ans, x, y;
if (questions.length >= 0) {
ans = parseInt($('#answer').val(), 10);
x = parseInt($('#input1').text(), 10);
y = parseInt($('#input2').text(), 10);
if (ans === x * y) {
score++;
}
nextQuest(questions.pop());
}
});
var nextQuest = function (q) {
if (q) {
$('#input1').text(q.x);
$('#input2').text(q.y);
$('#answer').val('');
$('#inputElement').val(questions.length);
} else {
$('#input1, #input2').text('');
$('#answer, #inputElement').val('');
alert(score);
}
};
});
最佳答案
在功能外声明问题金额
$(function () {
var score = 0;
var questions = [];
var questionAmount=0; //here
$('#gen').click(function () {
score = 0;
questions = [];
questionAmount = parseInt($('#inputElement').val(), 10);
然后当您发出警报时执行此操作
alert(score+" out of "+questionAmount + " correct");
DEMO