我的问题是“结束”按钮无效,我的提醒仍然显示为我从未点击过结束按钮
<form><input type="button" value="StartAlert" onclick="haf()"></form>
<form><input type="button" value="EndAlert" onclick="wuf()"></form>
<script>
function haf()
{
var wtf = window.setInterval(function() { alert('rekt')} , 1000);
}
</script>
<script>
function wuf()
{
window.clearInterval(wtf);
}
</script>
答案 0 :(得分:2)
您需要在更高的范围内声明区间变量wtf
,因为它目前只存在于您的haf()
函数中:
<script>
var wtf;
function haf(){
wtf = window.setInterval(function() { alert('rekt')} , 1000);
}
</script>
<script>
function wuf(){
window.clearInterval(wtf);
}
</script>
在函数外部确定它可以使其在其他函数中被调用访问,所以现在当你调用wuf()
函数时,它实际上能够看到wtf
并且能够停止间隔。
答案 1 :(得分:0)
只是一点点修复,它会按预期工作。将wtf
变量的声明移出haf()
函数。当你在函数中声明它时,它变成了一个只能在该函数内部访问的局部变量。通过在外部定义变量,您可以将其设置为全局变量,然后也可以访问wuf()
函数。
<form><input type="button" value="StartAlert" onclick="haf()"></form>
<form><input type="button" value="EndAlert" onclick="wuf()"></form>
<script>
var wtf;
function haf()
{
wtf = window.setInterval(function() { alert('rekt')} , 1000);
}
</script>
<script>
function wuf()
{
window.clearInterval(wtf);
}
</script>
&#13;