【问题标题】:Printing numbers - setTimeout JavaScript打印数字 - setTimeout JavaScript
【发布时间】:2019-03-13 19:52:23
【问题描述】:

我正在尝试将数字从 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>

【问题讨论】:

  • 当你不应该调用setTimeout(start, 2000)时......与你的其他功能相同......
  • 您应该为start 中的setTimeout(start, 2000)start2 中的setTimeout(start2, 2000) 添加条件。和第一种情况一样,只有在i <= 5时才调用,否则将永远调用。

标签: javascript function settimeout


【解决方案1】:

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();
&lt;div id="scroll"&gt;&lt;/div&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-08
    • 2012-07-01
    • 1970-01-01
    • 2017-08-26
    • 2016-01-20
    • 2019-07-19
    • 1970-01-01
    • 2019-07-03
    相关资源
    最近更新 更多