javascript - 我想使用innerHTML在屏幕上显示一个计数器,但即使我使用睡眠功能,它也不能循环工作?
问题描述
实际上我想要一个计时器,以便可以从我想要的范围倒计时到 0。但是使用 innerHTML 只会立即显示 0:00 而不会显示更改。我使用了睡眠功能,所以现在屏幕保持不变,然后显示为零,而不是像倒计时怎么办?救命!!!
function sleep(t){
let timeenter code hereStart=new Date().getTime();
while(true)
{
let elapsedTime=new Date().getTime()-timeStart;
if(elapsedTime>t){
break;
}
}
}
function startLoop(){
let v1=document.getElementById("minutes-input").value;
let v2=document.getElementById("seconds-input").value;
let x1=document.getElementById("minutes");
let x2=document.getElementById("seconds");
for(var i=0;i<v1;i++)
{
x1.innerHTML=i;
console.log(i);
for (var j =1; j<=59; j++) {
sleep(1000);
x2.innerHTML=j;
console.log(j);
}
}
解决方案
看看这是否有帮助。我知道 CSS 应该在一个外部文件中,但是嘿....所以,它是...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" id="minutes-input" value="1">
<input type="text" id="seconds-input" value="10">
<div style="border: 2px solid black; width: 100px; height: 15px;" id="minutes"></div>
<div style="border: 2px solid black; width: 100px; height: 15px;" id="seconds"></div>
<button type="button" onclick="setInterval(updateTime, 1000);">Start counting</button>
<script>
let v1=document.getElementById("minutes-input").value;
let v2=document.getElementById("seconds-input").value;
let x1=document.getElementById("minutes");
let x2=document.getElementById("seconds");
x1.innerHTML = v1; // starting time in minutes
x2.innerHTML = v2; // starting time in seconds
function updateTime() {
x1.innerHTML = v1;
if(v2 > 0) {
x2.innerHTML = --v2;
if(v1 === 0 && v2 === 0) {
return; // stop counting
}
if(v2 === 0) {
v2 = 60
v1--;
}
}
}
</script>
</body>
</html>
如果我需要解释什么,请问...
推荐阅读
- html - Github 页面 404 找不到文件
- sql - 通过外键约束强制关系?
- php - 在 Laravel 中重命名 API 名称
- scikit-learn - AttributeError:在管道上调用 fit_transform 时,“numpy.ndarray”对象没有属性“fit”
- javascript - 将函数加载到 HTML//生成随机词
- javascript - 使用 .forEach() 动态生成数组
- javascript - 使用 Selenium/BeautifulSoup 抓取动态网站
- jquery - 带有颜色框的 HTML 颜色选择器
- latex - Markdown 方程对齐
- asp.net-core - 如何使用 Asp.Net Core Identity 为多个位置/站点扩展角色