ClearInterval()不起作用,它没有停止

时间:2016-10-07 09:54:02

标签: javascript

我遇到clearinterval的问题,它不像我做的那样有效。有人能发现问题并向我解释吗?

这是JS代码:

<script>

    var br = "<br / >";

    function funkcja() {
        var i = 0;
        var intervalId = setInterval(function(){
            document.write(i+1 + "- obieg pętli" + br);
                i++;
            }, 1000);
        if(bbb == 10) {
                clearInterval(intervalId);
                }
    }

</script>

和HTML对象:

<p id="ppp" onclick="funkcja();"> Kliknij mnie </p>

2 个答案:

答案 0 :(得分:2)

因为您的clearInterval条件if(bbb == 10)内的条件仅在funkcja()执行时检查,即仅当您按p#ppp

另外,bbb也未定义?

尝试这样写:

function funkcja() {
    var i = 0;
    var intervalId = setInterval(function(){
        document.write(i+1 + "- obieg pętli" + br);
            i++;
            if(i == 10) {
               clearInterval(intervalId);
            }
        }, 1000);
 }

答案 1 :(得分:0)

未声明bbb var。在setInterval

中添加ClearInterval函数

    var br = "<br / >";
    var bbb;
    function funkcja() {
        var i = 0;
        var intervalId = setInterval(function(){
            document.write(i+1 + "- obieg pętli" + br);
                i++;
                bbb = i;
               if(bbb == 10){
                  clearInterval(intervalId);
               }
            }, 1000);
     }
<p id="ppp" onclick="funkcja();"> Kliknij mnie </p>