改变目标答案

时间:2013-01-02 09:24:18

标签: javascript jquery

我正在为孩子们创建一个“打鼹鼠”风格的教育游戏,在这里给出一个问题,他们必须点击正确的出现号码。例如,当给出类似“2 + 2”的总和时,孩子必须等待“4”出现并单击它。每次遇到正确答案时问题都会改变,但问题是当新问题出现时没有正确的答案,而且您点击的每个号码都会添加错误的答案。有人能告诉我为什么会一直这样。

以下是总和的案例..

function correctlabels() {
    switch (Math.ceil(Math.random() * 9)) {
        case 1:
            check = sum1;
            $('#target').html('0 + 1 = ?');
            break;
        case 2:
            check = sum2;
            $('#target').html('1 + 1 = ?');
            break;
        case 3:
            check = sum3;
            $('#target').html('2 + 1 = ?');
            break;
        case 4:
            check = sum4;
            $('#target').html('2 + 2 = ?');
            break;
        case 5:
            check = sum5;
            $('#target').html('2 + 3 = ?');
            break;
        case 6:
            check = sum6;
            $('#target').html('3 + 3 = ?');
            break;
        case 7:
            check = sum7;
            $('#target').html('2 + 5 = ?');
            break;
        case 8:
            check = sum8;
            $('#target').html('2 + 6 = ?');
            break;
        case 9:
            check = sum9;
            $('#target').html('2 + 5 = ?');
            break;
    }

这是一个显示我的意思的小提琴.. http://jsfiddle.net/pUwKb/8/

1 个答案:

答案 0 :(得分:3)

我认为这是因为你永远不会重新添加正确的'类。 尝试更改此内容:

    $('.character').each(function (index, character) {
        if (!check(parseInt(this.getAttribute("value")))) {
            $(this).addClass("wrong");
            $(this).removeClass("right");
        }
    });

到此:

    $('.character').each(function (index, character) {
        if (!check(parseInt(this.getAttribute("value")))) {
            $(this).addClass("wrong");
            $(this).removeClass("right");
        } else {
            $(this).addClass("right");
            $(this).removeClass("wrong");
        }
    });

不错的游戏顺便说一句:)