我在下面为一个简单的数学游戏编写了经过修改/编辑的代码。您输入要解决的金额,然后解决!

我现在遇到的问题是,最后只显示分数。

我试图让它不仅显示分数,而且显示您输入要解决的问题的数量。因此,在输入正确的问题中,更多的是“您获得了”分数。下面是代码和小提琴的链接。

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

09-25 18:48