2016-10-07 130 views
-2

我有一个clearinterval的问题,它不工作的方式,我做到了。有人能够发现问题并向我解释吗?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> 
+3

,不要使用'document.write'。使用DOM。 –

+0

我也可以建议,无论您使用什么样的开发环境,您都可以使用良好的短绒系统。那个错误就会被拿起来。 – Keith

+0

什么是'bbb'? – Ben

回答

2

,因为你有你的clearInterval条件if(bbb == 10)funkcja()执行,即当您只按这个条件,才检查内部p#ppp

此外,bbb未定义为perhap S'

尝试这样写的:

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

BBB VAR未声明。添加ClearInterval函数内部的setInterval

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>