2016-10-07 51 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>