javascript - 倒计时并在发生时更改变量
问题描述
我正在运行一个 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>
目前,当我在网络浏览器中打开文件时,浏览器窗口正在加载,直到 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>
推荐阅读
- arrays - 如何显示错误,包括单元格数组的内容
- etl - 自动将 CSV 文件移动到 talend ETL
- ios - UIPickerView 滚动到上一个项目时的奇怪行为
- asp.net-core - 如果 appsetings.json 中存在设置,为什么会忽略环境变量?
- javascript - 在表格行中不显示
- arrays - JSON 的语法 - 正文发布请求 - SWIFT4
- javascript - AWS Polly Javascript 开发工具包“ThrottlingException:超出速率”
- python - 如何创建免费送货功能?
- javascript - 使用单独的输入标签拖放多个文件
- swift - 将参数值传递给应用程序/播放商店下载的链接