javascript - 完成后如何停止这个javascript倒计时?
问题描述
我找到了这个 javascript,它在循环完成后开始新的倒计时
<script>
var countdownNumberEl = document.getElementById('countdown-number');
var countdown = 10;
countdownNumberEl.textContent = countdown;
setInterval(function() {
countdown = --countdown <= 0 ? 10 : countdown;
countdownNumberEl.textContent = countdown;
}, 1000);
</script>
解决方案
SetInterval 返回一个唯一的 ID。
var intervalId = setInterval( function(){}, 1000);
所以,当你想让它停止时,你只需调用clearInterval(intervalId)
如果你想在函数本身中调用它,你只需要有正确的条件来监控当你想要它停止它时,你需要引用全局或作用域标识符。
在您的示例中,您使用的是countdown
变量。
所以你可以这样说:
if (countdown <= 0) clearInterval(intervalId);
推荐阅读
- python - 如何从python中的列表列表中提取所有列和对角线?
- r - 条形图乱序
- c++ - 事件驱动编程和绿色线程:它们的关系是什么?
- javascript - 修补 XMLHttpRequest 并创建 4XX 或 5XX
- python - AllenNLP 2.0:将 `allennlp predict` 与 MultiTaskDatasetReader 一起使用会导致 RuntimeError
- python-3.x - Odoo 日志 - 如何保留 DEBUG,但删除 INFO?
- r - 根据日期提取前一个特定日期
- javascript - JS 执行时,CEF 渲染器进程不处理进程消息
- pagination - 使用 Graphene GraphQL,是否可以缓存用于中继连接(分页)的查询集?
- python - 无法将 Excel 工作表导入 Jupyter Notebook