2016-11-07 136 views
-3

這是我正在處理的自動標記腳本。它可以在9GAG後實施。(http://9gag.com/gag/ *)clearInterval不會終止

var division1 = ["@haxxorsid10 @haxxorsid11 @haxxorsid12", "@haxxorsid0"]; 
var i = 1; 

window.onkeydown = function(e){ 

    if(e.keyCode == 113){ 
    document.getElementsByClassName("post-text-area")[0].value = division1[0]; 
    document.getElementsByClassName("cmnt-btn")[0].click(); 


var repeat = setInterval(function start(){ 
if(i == division1.length - 1) 
    clearInterval(repeat); 
document.getElementsByClassName("reply")[0].click(); 
document.getElementsByClassName("post-text-area")[1].value = division1[i]; 
document.getElementsByClassName("cmnt-btn")[1].click(); 
i++; 
    },2000);}}; 

問題是division1的所有元素甚至評論後,它繼續在評論評論undefined。看起來clearInterval永遠不會被執行。

+0

什麼是你的config.log()說的我和在區間division1.length? – Roberrrt

+2

你爲什麼不使用'setTimeout'? –

+0

@ DanielA.White我不想使用setTimeout ...但無論如何我只是通過添加大括號來解決問題... –

回答

-3

那麼,問題只是通過應用大括號來解決。

if(i == division1.length - 1){ 
    clearInterval(repeat); 
} 

它解決了這個問題,但爲什麼花括號制定了......

+0

而不是回答你自己的問題,你應該已經編輯你的問題上面的解決方案。 – sam

+0

@sam我是新的......但我相信,回答你自己的問題是正確的方法 –

+1

你總是可以編輯你的問題並最終用解決方案修改它。這就是我正在談論的 – sam

0

杉杉時間點擊i=1然後第二次點擊它會計算i=2。所以,如果條件不passing.so我被重置i清除間隔時間的值。因此,每次單擊計數將重新啓動。

而且你還沒有添加ah括號if{}與if條件。

var division1 = ["@haxxorsid10 @haxxorsid11 @haxxorsid12", "@haxxorsid0"]; 
 
var i = 1; 
 

 
window.onkeydown = function(e){ 
 

 
    if(e.keyCode == 113){ 
 
    
 

 
var repeat = setInterval(function start(){ 
 
    
 
    
 
if(i == division1.length - 1){ 
 
    clearInterval(repeat); 
 
    i=0;//its will restart the count 2 time click 
 
console.log('stop'); 
 
    } 
 
    else{ 
 
    console.log('loop run') 
 
    } 
 
i++; 
 
    },2000);}};

+0

非常感謝... !!! –

+0

@SiddheshPatil歡迎...! – prasanth