javascript - 如何清除我函数中的计时器?
问题描述
与此问题相关的所有材料都在这里。
打开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();">
解决方案
您永远不会在函数中分配timer
变量。onload
所以一个间隔在没有指针的情况下运行。
window.onload = function () {
createManySnow();
window.timer = setInterval(startFly, 100);
};
推荐阅读
- java - 使用 SonarLint 插件和 SonarQube 服务器未检测到 HTTP 请求重定向漏洞
- django - 如何在表单中使用预填充的 ChoiceField 创建实例
- jenkins - Sonar-Gerrit Jenkins 插件未报告有关 Gerrit 的问题
- mongodb - 如何在 MongoDB 聚合中同时使用 $slice 和项目特定字段?
- c# - Azure 功能在主机 json 文件中设置 autoRenewTimeout 不起作用
- microsoft-graph-api - 无法在 ms 团队聊天中显示 iframe
- postgresql - 查询子字段的对象的 JSONB 数组
- javascript - 使用 Moment JS 用其他语言(如阿拉伯语或印地语)本地化日期时以英语显示数字
- javascript - 如何使 node-fetch 仅提取特定参数?
- flutter - 如何向 Sentry 提交异常以便我可以在问题中找到它?