javascript - 倒计时并在发生时更改变量

标签 javascript countdown

我正在运行一个 for 循环,每次迭代之间休息 1 秒:

<html>
<body>
<script>

var text = "";
var i;

// Wait function
function wait(ms){
   var start = new Date().getTime();
   var end = start;
   while(end < start + ms) {
     end = new Date().getTime();
  }
}

for (i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
  wait(100)
}

</script>

<script>document.write(text)</script>

</body>

目前,当我在 Web 浏览器中打开文件时,浏览器窗口会加载,直到 for 循环完成,然后显示结果(五个输出行)。有没有办法“当它发生时”显示输出。我的意思是,我打开页面,每秒都会打印一个新行。 谢谢!

最佳答案

您应该了解 Javascript 中的超时和间隔概念。

这是完成这项工作的代码。检查一下。

<html>
<body>
<script>

function waitAndWrite(num) {
    setTimeout(() => {
        let text = "The number is " + num + "<br>";
        document.write(text)
    }, num * 1000)
}

for (let i = 0; i < 5; i++) {
    waitAndWrite(i)
}
</script>
</body>

关于javascript - 倒计时并在发生时更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059833/

相关文章:

javascript - 从两个表达式设置 ng-checked 值

javascript - Angular 替换模板中变量的字符

javascript - 至少努力从 Ionic 迁移到 NativeScript

javascript - 我的 mvc 项目中的 jquery 结构

javascript - 将 'new Date' 更改为输入值

javascript - Momentjs 倒计时 - 持续时间显示负数

javascript - Angular.js 中的 Utils 类

javascript - 防止页面刷新时 Javascript 倒数计时器重置

javascript - 计时器不会停止在 00 :00

javascript - jquery.final-countdown.js - 需要帮助配置它