首页 > 解决方案 > 如何清除我函数中的计时器?

问题描述

与此问题相关的所有材料都在这里。

与此问题相关的所有材料

打开p1.html,雪会自动飞。
点击stop button无法阻止飞翔的儿子。

可能clearInterval(timer); in stopFly 函数无法运行。
如何解决?

js的一部分。

function stopFly(){
    clearInterval(timer);
    document.getElementById("startButton").disabled = "";
    document.getElementById("stopButton").disabled = "disabled";
}

window.onload=function(){
    createManySnow();
    setInterval(startFly,100);
}  

html的一部分。

<input type="button" value="new" onclick="createManySnow();">
<input type="button" id="startButton"  value="start"  onclick="timer=setInterval(startFly,100)">
<input type="button" id="stopButton"     value="stop" onclick="stopFly();">

标签: javascripttimer

解决方案


您永远不会在函数中分配timer变量。onload所以一个间隔在没有指针的情况下运行。

window.onload = function () {
    createManySnow();
    window.timer = setInterval(startFly, 100);
};

推荐阅读