-1

我正在尝试做简单的点击计时器。但是我做错了什么,我的 clearInterval 不起作用。计数继续和清除间隔不起作用。

<!DOCTYPE html>
<html lang="en"> 
    <head>
    <script>
    var seconds = 10;
    var clicks = 0;
    var a=0;
    function start()
    {
        a++;
        if(a > 0 && a < 2)
        {
        var interval;
            if(minute == 0)
            {
                clearInterval(interval) 
                a++;
            }
            else
            {
                interval = setInterval(function(){
                seconds--;
                document.getElementById("time").innerHTML = seconds;
                    },1000);
            }
        }

    }


    function goClick()
    {
        if(a==1)
        {
        clicks++;
        document.getElementById("span").innerHTML = clicks;
        }
    }
    </script>
        <meta charset='utf-8'> 
        <title> Try to find </title>
    </head>
    <body>
        <h1 align="center">how many clicks you can do for 10 seconds </h1>
        <button onclick="start();" >start </button> <br />
        <button onclick="goClick();" >click </button> <br />
        <div><p> count : <span id="span"></span> </p></div>
         <br />
        <div><p> time : <span id="time"></span> </p></div>

    </body>
</html>
4

1 回答 1

4

直接的问题是间隔取消部分放置在它永远不会运行的地方。把它放在区间函数本身:

var interval = setInterval(function(){
    seconds--;
    document.getElementById("time").innerHTML = seconds;    
    if( seconds === 0 ) {
        clearInterval( interval );
    }
},1000);
于 2013-06-15T18:20:09.783 回答