簡體   English   中英

循環條件為false時,腳本執行不會停止

[英]Script execution doesn't stop when loop condition is false

最近,我寫了一個用於自動下注csgojustice的用戶腳本。 這里是:

var delay = 10000
var btBet = document.getElementById("make-bet");
var loop = true
var input=document.createElement("input");
input.type="button";
input.value="Start";
input.onclick = start;
input.setAttribute("style", "font-size:18px;position:absolute;top:120px;right:40px;");
document.body.appendChild(input); 

var input=document.createElement("input");
input.type="button";
input.value="Stop";
input.onclick = stop;
input.setAttribute("style", "font-size:18px;position:absolute;top:120px;right:130px;");
document.body.appendChild(input); 

function start() {
    loop = true;
    roll(); 
}

function roll() {
    if (loop === true) {
        btBet.click();
        refreshIntervalId = setInterval(roll2, delay); }
}

function roll2() { 
    btBet.click();
    clearInterval(refreshIntervalId)'
    roll()
}

function stop() {
loop = false;
}

問題:

當我單擊開始按鈕時,它開始執行。 但是當我單擊“停止”按鈕時,它仍然執行。 但是if (loop === true)仍然存在, if (loop === true)loopfalse ,它不會停止。

我似乎無法遇到您的問題-該腳本對我來說很好用。

但是我已經修復了一些問題。

  • roll2功能。
  • 如果使用setInterval ,則可以使用setTimeout而不必每次都清除它
  • 你應該在調用stopclearTimeout

jsFiddle

var delay = 1000;
var btBet = document.getElementById("make-bet");
var loop = true;
var input=document.createElement("input");
input.type="button";
input.value="Start";
input.onclick = start;
input.setAttribute("style", "font-size:18px;position:absolute;top:120px;right:40px;");
document.body.appendChild(input); 

var input=document.createElement("input");
input.type="button";
input.value="Stop";
input.onclick = stop;
input.setAttribute("style", "font-size:18px;position:absolute;top:120px;right:130px;");
document.body.appendChild(input); 

function start() {
    loop = true;
    roll(); 
}

function roll() {
    if (loop === true) {
        console.log("roll");
        refreshIntervalId = setTimeout(roll, delay);
    }
}

function stop() {
    loop = false;
    clearTimeout(refreshIntervalId);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM