javascript - 如何在javascript倒计时上实现开始和停止按钮
问题描述
以下代码应该启动和停止计时器,但是“停止”按钮不起作用。“播放”工作正常。它只是不会停止
var countDown;
function countDownClock() {
var timeLeft = 5;
var text = document.getElementById("countDownTimer");
var countDown = setInterval(function() {
if (timeLeft == 0) {
clearInterval(countDown);
text.innerHTML = "finished!";
} else {
text.innerHTML = timeLeft;
}
timeLeft -= 1;
}, 1000);
}
<button onclick="reloadMaths()"><i class="fa fa-play"></i></button>
<button onclick="clearInterval(countDown);"><i class="fa fa-stop"></i></button>
我需要展示更多的JS吗?
最初我认为这篇文章解决了它,因为我没有变量作为全局变量-但是,使它成为全局变量后,这个解决方案无法 使用带有开始和停止按钮的 javascript 倒数计时器
解决方案
将此行更改
var countDown = setInterval(function() {
为
countDown = setInterval(function() {
在第 1 行中,您已经声明了一个全局 var countDown
。然后在函数中你又做了一次,这就是你的 clearInterval 函数不会清除间隔的原因。
推荐阅读
- mysql - 将原始 MySQL 转换为 Eloquent
- r - 如何禁止显示 data.frame 行号?
- sql - 如何在以与原始表相同的方式排序的列中查找连续的唯一值?
- haskell - 理解foldr的定义
- c++ - std::forward 的作用
- ruby - 如何使用 ruby 从远程 linux 服务器上抓取 react 网站?
- spring-batch - 如何读取没有行分隔符的大型机文件?
- c# - .NET 单元测试中的完整测试名称
- java - 如果创建父类的数组,如何通过数组对象从子类访问方法?
- python - 用单独的 Pandas 系列中的值替换 NaN 值(在 Pandas DataFrame 中)的最佳方法是什么?