javascript - 打印数字 - setTimeout JavaScript
问题描述
我正在尝试从 0 -5 将数字打印到我的 div(滚动),然后暂停 2 秒,然后从 5-0 开始。怎么了 ?
var i = 0;
var j = 5;
var scroll = document.getElementById('scroll');
function start() {
scroll.textContent += i;
setTimeout(start, 2000)
i++;
if (i > 5) {
setTimeout(start2, 2000)
scroll.textContent = '';
}
}
function start2() {
scroll.textContent += j;
setTimeout(start2, 2000)
j--;
if (j == 0) {
setTimeout(start, 200)
}
}
start();
<div id="scroll"></div>
解决方案
var j = 5;
var scroll = document.getElementById('scroll');
function start() {
for (let i = 0; i <= j; ++i)
scroll.textContent += i;
setTimeout(start2, 2000)
}
function start2() {
for (let i = j; i; --i)
scroll.textContent += i;
setTimeout(start, 2000) // should you?
}
start();
<div id="scroll"></div>
推荐阅读
- javascript - 如何确保在ajax调用后触发动态插入按钮上的点击事件
- c# - Grid 高度问题,在 ScrollView 内
- python - pip安装错误
- kubernetes - 在 K8s 上运行 Airflow 时出现 ErrImagePull
- powershell - 使用 ForEach 语句查询和设置多台主机的时区
- mongodb - 如何将 mongoshell 版本 4.4 降级到 3.6?
- search - 如何在二十一个 WordPress 主题的搜索结果中添加特色图片?
- android - 无法构建 wordpress(版本:alpha-290)
- sql - 如何将“IN”与字符串列表一起使用?
- node.js - Aws s3 图像图标