javascript - 如何让计时器在点击 Javascript 时停止
问题描述
我正在尝试在 javascript 中创建一个计时器。我希望计时器在点击时停止,但不会。我有两个参数:“开始”和“停止”。如果在计时器已经运行时单击开始按钮,我希望我的程序重新启动计时器,并在单击停止按钮时停止。
function timer(start, stop) {
let count;
if (start) {
let count = 0;
setInterval(() => {
count++;
console.log(count);
}, 1000);
}
if (stop) {
count = count;
}
}
解决方案
只需clearInterval
在计时器运行时停止计时器,如果在不运行时单击,则重新设置。像这样的东西:
var timer;
var running = false;
var elapsed = 0;
var div = document.getElementById('time');
document.getElementById('btn').addEventListener('click', function() {
if (running) {
clearInterval(timer);
running = false;
} else {
timer = setInterval(function() {
elapsed++;
div.textContent = elapsed;
}, 1000);
running = true;
}
});
<button id="btn">Click Me</button>
<div id="time"/>
推荐阅读
- docker - `steveltn/https-portal` 反复重启
- mongodb - mongodump 和 mongorestore 命令未找到 mac
- python - Jupyter 笔记本打不开,distutils 错误
- c# - C#/CS1061 - 引用从堆栈返回的类的属性时出错
- javascript - 是否可以使用 prepros.io 有条件地排除代码行?
- python - 如何在 Python Pandas 中增加 countplot 的字体大小?
- sql - VBA代码中WHERE关键字的正确语法语法是什么
- python - MLflow:INVALID_PARAMETER_VALUE:模型注册表存储不支持 URI './mlruns'
- powershell - 为什么我的 foreach 列表中的第一项作为 $i 运行最终是空白或与列表中的下一项混合?
- amazon-web-services - Cloudformation - 在地图中定义默认值