Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重置计数器并重新开始_Javascript_Jquery - Fatal编程技术网

Javascript 重置计数器并重新开始

Javascript 重置计数器并重新开始,javascript,jquery,Javascript,Jquery,我试图在jquery中做一个测验,它从用户那里获取答案,用正确的答案进行检查,然后用分数显示结果 我希望我的测验在结束一轮后重新开始。代码在第一轮中运行良好,但当我再次开始时,它只显示第一个问题,不会继续 出什么事了 小提琴的环节是 HTML <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="score">Score:

我试图在jquery中做一个测验,它从用户那里获取答案,用正确的答案进行检查,然后用分数显示结果

我希望我的测验在结束一轮后重新开始。代码在第一轮中运行良好,但当我再次开始时,它只显示第一个问题,不会继续

出什么事了

小提琴的环节是

HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="score">Score: <span id="scr"></span>/10</div>
<div class="correct">Correct</div>
<div class="incorrect">Incorrect</div>
<div class="qstart">start</div>
<div class="qarea">
    <div class="question">Father</div>
    <div class="canswer">Vater</div>
    <textarea class="abox"></textarea>
</div>
<div class="qarea">
    <div class="question">My father</div>
    <div class="canswer">Mein Vater</div>
    <textarea class="abox"></textarea>
</div>
<div class="qarea">
    <div class="question">Land</div>
    <div class="canswer">Land</div>
    <textarea class="abox"></textarea>
</div>
<div class="qarea">
    <div class="question">Mother</div>
    <div class="canswer">Mutter</div>
    <textarea class="abox"></textarea>
</div>
<div class="qarea">
    <div class="question">Brother</div>
    <div class="canswer">Bruder</div>
    <textarea class="abox"></textarea>
</div>
<div class="qarea">
    <div class="question">City</div>
    <div class="canswer">Stadt</div>
    <textarea class="abox"></textarea>
</div>
<div class="qarea">
    <div class="question">Woman</div>
    <div class="canswer">Frau</div>
    <textarea class="abox"></textarea>
</div>
<div class="qarea">
    <div class="question">Man</div>
    <div class="canswer">Mann</div>
    <textarea class="abox"></textarea>
</div>
<div class="qsubmit">submit</div>
<div class="startagain">startagain</div>
Jquery

$(document).ready(function () {
    //declare variables

    var qarea = $(".qarea");
    var totalqarea = qarea.length - 1;
    var startagain = $(".startagain");
    var canswer = $(".canswer")
    var qsubmit = $(".qsubmit");
    var counter = 0;

    //hide unrequired 
    qsubmit.hide();
    startagain.hide();
    $("startagain")
    $(".correct,.incorrect").hide();
    qsubmit.hide();

    $(".canswer").hide();
    qarea.hide();

    var qstart = $(".qstart");

    //intiate click on start
    qstart.click(function () {
        var counter = 0;
        qsubmit.show();
        qarea.eq(counter).show();
        qstart.hide();
        var i = 1;
        //loop();    function loop() 

        //initate submit
        qsubmit.bind("click", function () {
            var ma = canswer.eq(counter).text();
            var mal = ma.toLowerCase();
            var ua = $("textarea").eq(counter).val();
            var ual = ua.toLowerCase();
            var n = mal.localeCompare(ual);

            // checks correct answer and gives score
            if (n == 0) {
                $(".correct").show();
                $("#scr").text(i);
                i = i + 1;
                qsubmit.html("continue");
                //gives incorrect     
            } else {
                $(".incorrect").text("correct answer is " + ma).show();
                qsubmit.html("continue");
            }

            // increase counter
            counter = counter + 1;
            qarea.eq(counter - 1).hide();
            qarea.eq(counter).show();

            if (totalqarea == counter) {
                qsubmit.hide();
                qstart.text("start again").show();
                qarea.eq(counter).hide()

                qstart.click(function () {
                    //loop();return;

                })
            }
        })
    })
})

重置计数器,它就会工作

        if (totalqarea == counter) {
            qsubmit.hide();
            qstart.text("start again").show();
            qarea.eq(counter).hide()
            counter = 0;

谢谢。成功了。你知道如何使用递归函数吗?
        if (totalqarea == counter) {
            qsubmit.hide();
            qstart.text("start again").show();
            qarea.eq(counter).hide()
            counter = 0;