javascript - 我怎样才能停止重新启动计数器
问题描述
var time=0;
var i=0;
function stopwatch(){
document.getElementById("p1").innerHTML=i;
i++; }
function start(){
time=window.setInterval('stopwatch()',500);
}
function stop(){
window.clearInterval(time);
}
</script>
<p id="p1">0</p>
<button onclick="start()">Start counter</button>
<button onclick="stop()">Stop counter</button>
我正在尝试构建秒表,但是如果我多次单击开始按钮,那么每当我单击“开始按钮”并且“停止”按钮不起作用时,时间会越来越快我该如何解决这个问题
解决方案
var time=0;
var i=0;
function stopwatch(){
document.getElementById("p1").innerHTML=i;
i++; }
function start(){
if(time) return;
time=window.setInterval('stopwatch()',500);
}
function stop(){
window.clearInterval(time);
time = null;
}
<p id="p1">0</p>
<button onclick="start()">Start counter</button>
<button onclick="stop()">Stop counter</button>
推荐阅读
- php - 适用于 Windows 的 PHP 中串行类的 readPort 函数
- c# - C# Web api 每分钟获取请求
- python - 如何将数据框列列表值转换为元素
- flutter - Flutter:为什么两个 const SizedBox() 不相同
- android - 如何使用谷歌地图颤振获取指定地点的位置?
- android - TimerTask & Timer 运行多次
- html - 使用 Django 模板从 base.html 继承的导航栏无法正确呈现样式
- javascript - 将对象数据连接到一个字符串中
- css - 产品标题被屏蔽
- java - PATH 上的 Java 被忽略(Ubuntu/Bash)