Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/Toggle/Switch/clearInterval()-当切换关闭时,无法执行clearInterval()_Javascript_Html_Togglebutton_Clearinterval_Ischecked - Fatal编程技术网

Javascript/Toggle/Switch/clearInterval()-当切换关闭时,无法执行clearInterval()

Javascript/Toggle/Switch/clearInterval()-当切换关闭时,无法执行clearInterval(),javascript,html,togglebutton,clearinterval,ischecked,Javascript,Html,Togglebutton,Clearinterval,Ischecked,哇,这是我的第一篇帖子!对于编程和编码来说,这是我的第一个项目。我希望能够使用setInterval()切换开关来运行代码或停止代码。但现在我无法在选择切换时将其关闭。尝试了很多事情,比如打破;但到目前为止还没有成功。如果你们能给我指出正确的方向那就太好了 亲切问候,, 劳伦斯 HTML代码 <card> <p>Theft Script ON/OFF</p> <label class="switch"> <input id

哇,这是我的第一篇帖子!对于编程和编码来说,这是我的第一个项目。我希望能够使用setInterval()切换开关来运行代码或停止代码。但现在我无法在选择切换时将其关闭。尝试了很多事情,比如打破;但到目前为止还没有成功。如果你们能给我指出正确的方向那就太好了

亲切问候,, 劳伦斯

HTML代码

<card>
<p>Theft Script ON/OFF</p>
<label class="switch">
<input id="executeTheftScript" type="checkbox" > Toggle me
</label>
</card>
代码的运行


您需要将
addEventListener
添加到输入中,最好在函数外部设置setInterval变量或使其全局化,这样它就不会创建重复的setInterval

var区间;
变量person1={
学分:10
}
//倾听输入,查看是否有更改
document.getElementById(“executeTheftScript”).addEventListener(“更改”,theftggle);
函数ftoggle(){
var isChecked=document.getElementById(“executeTheftScript”).checked;
如果(已检查){
间隔=设置间隔(函数(){
如果(person1.credits==0){
间隔时间;
updateStats();
log(“你没有任何积分。”);
}否则{
盗窃();
个人1.学分--;
updateStats();
}
}, 500);
}否则{
清除间隔(间隔)
log(“您的脚本已停止。”);
}
}
函数盗窃(){}
函数updateStats(){
console.log(“学分:”,person1.credits);
}

盗窃脚本打开/关闭

切换我
您好,代码中的theftoggle()函数调用在哪里?你能提供更多关于“切换”按钮的信息吗?在分析结果之前了解变化是很重要的issue@sohaieb谢谢你的回复。我又添加了一些内容,这些信息足够吗?你好,劳伦斯,不客气,很抱歉我迟到了,我看到你的问题得到了回答。我很高兴见到你,谢谢你的回复。我尝试了您建议的更改,但不幸的是没有成功。我仍然无法关闭脚本,因此循环将继续,直到没有积分为止。我看到您的问题已更新,但我仍然使用setInterval变量或
var I=setInterval(…
函数内部,它应该与我的答案一样位于外部。它起作用了,我没有删除我的文档。getElementById(“executeTheftScript”).addEventListener('单击',切换);…一旦删除,它就工作了!
function theftToggle(){
    var isChecked = document.getElementById("executeTheftScript").checked;
    if (isChecked) {
        var i = setInterval(function(){
            if (person1.credits === 0) {
                clearInterval(i);
                updateStats();
                console.log("You don't have any credits.");
            } else {
                theft();
                person1.credits--;
                updateStats();
            };
        }, 500);
    } else {
        console.log("Your script is stopped.");
    }
}

document.getElementById("executeTheftScript").addEventListener('click', theftToggle);