在测验结束后重置变量的所有原始值

时间:2015-02-20 07:35:43

标签: jquery math while-loop reset

我已将var设置为以下

var sum = 0;
var Correctscore = 0;
var Wrongscore = 0;
var QNum = 1;

我有一个加法数学测验程序。它有10个问题。它生成2个随机数,它们在函数调用random()中。用户将答案放在文本区域,即代码中的“文本”。

提供的答案将与2个数字的总和一起检查。如果它是正确的,它会显示一个“你是对的”窗口,否则“你错了”

random();

$(":button").click(function(){

if(QNum<10)
{
    if(text == sum)
    {
        alert("you are right");
        Correctscore = Correctscore + 1;

    }
    else
    {
        alert("you are wrong");
        Wrongscore = Wrongscore + 1;
    }
    QNum = QNum + 1;
    random();

   }
else
{
    alert("quiz end");
}

});

在问题10的末尾,一个窗口将显示“测验结束”。当用户单击“确定”时,所有正确和错误的分数将重置为0.问题编号重置为1.

我尝试使用while循环检查QNum是否达到10。但我不断收到脚本错误,我无法弄清楚原因。

$(":button").click(function(){

while(QNum<=10)
{
 .....
}
alert("quiz end");

});

另一个问题是,在用户在警告窗口“测验结束”上按“确定”后,如何将所有分数更改回0并将QNum更改回1?

重置测验计划的最有效方法是什么?

2 个答案:

答案 0 :(得分:0)

只需将其放入else

if(QNum<10)
{

    ...

}
else
{

    sum = 0, Correctscore = 0, Wrongscore = 0, QNum = 1;
    alert("quiz end");

}

答案 1 :(得分:0)

我已经设法使用while循环来实现这一点。

$(":button").click(function(){
while(QNum<=10)
 {
    if(text == sum)
    {
        alert("you are right");
        Correctscore = Correctscore + 1;
    }
    else
    {
        alert("you are wrong");
        Wrongscore = Wrongscore + 1;
    }
    $("#question").html("Question " + QNum + "/10");
    QNum = QNum + 1;
    random();
    $(":text").val("");
    return false;
    }

 });

变量保持不变。

var sum = 0;
var Correctscore = 0;
var Wrongscore = 0;
var QNum = 1;

我在 return false; 中添加了以便while循环正常工作。

没有返回false; ,警告&#34;你错了&#34;不断涌现。

但这有一个问题。 #Question显示问题1/10 然后再跳过问题1/10 ,然后跳转到问题2/10 ,最后在问题10/10 。

我该如何解决这个问题?

基于这个while循环,我可以在哪里放置以下代码?

sum = 0, Correctscore = 0, Wrongscore = 0, QNum = 1;
alert("quiz end");