首页 > 解决方案 > 打印数字 - 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>

标签: javascriptfunctionsettimeout

解决方案


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>


推荐阅读