javascript - 如何在一次运行后停止 setTimeout?
问题描述
我有这个循环倒计时,但我希望它从 7 运行到 4 并保持在 4 而不循环。所以 4 将保留并可见,之后不会发生任何事情。
<div id="dcontent" style="width:100%; background-color: #E2E2FC; padding-left: 5px"></div>
<script type="text/javascript">
var mycontent = new Array()
mycontent[0] = 'Jetzt schnell sein! Nur noch 7 Artikel verfügbar!'
mycontent[1] = 'Jetzt schnell sein! Nur noch 6 Artikel verfügbar!'
mycontent[2] = 'Jetzt schnell sein! Nur noch 5 Artikel verfügbar!'
mycontent[3] = 'Jetzt schnell sein! Nur noch 4 Artikel verfügbar!'
var i = 0
function altercontent() {
dcontent.innerHTML = mycontent[i];
i = (i == mycontent.length - 1) ? 0 : i + 1
setTimeout("altercontent()", 1000)
}
window.onload = altercontent
</script>
解决方案
使用类似的东西
var yourInterval = setInterval(fn,time);
并在某些条件下运行以下语句,例如 if(i<4)
清除间隔(您的间隔);
上面会在遇到 clearInterval(); 时停止它。
在此处阅读有关它的更多信息Window clearInterval() 方法
推荐阅读
- ms-access - 如何解决VB6中的数据类型不匹配错误?
- python - 错误“无法访问 'DataFrameGroupBy' 对象的可调用属性 'sample',请尝试使用 'apply' 方法”
- git - 有没有办法不为在 macOS 中使用 git 编写“sudo”?
- python - 如何解决python图像显示中的Bangla字体问题?
- angular - Angular 11 Universal SSR + PWA 的问题。将 SSR 部署为 Cloud Function Functions 未正确部署
- list - 如何过滤地图列表以创建另一个地图列表作为搜索功能的结果
- sql - 计算事件 A 和 B 之间的最短时间差,仅当事件 B 发生在事件 A 之后
- java - JdbcTemplate 在我的实现类中返回 NullPointerException
- reactjs - 我可以在 firestore 的嵌套文档中查询字段吗?
- python - 无法在 Heroku 上部署我的基于 django 的 API