javascript - JavaScript 1 分钟倒计时无法正常工作
问题描述
我创建了一个简单的 1 分钟倒计时,但它似乎不起作用,我不知道为什么。
IT GIVES EXPIRED作为响应而不是计时器显示。
// Set the date we're counting down to
var setoneminutetime = new Date();
setoneminutetime.setMinutes(1);
var countDownDate = new Date(setoneminutetime).getTime();
//set interval for the actual countdown
var x = setInterval(function() {
var now = new Date().getTime();
//end time minus the current time
var distance = countDownDate - now;
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
//show countdown in div demo
document.getElementById("demo").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
p {
text-align: center;
font-size: 60px;
margin-top: 0px;
}
<p id="demo"></p>
解决方案
setMinutes
将分钟设置为当前小时的 1。现在是下午 5:19,setMinutes(1)
时间是下午 5:01。您需要获取当前时间并添加 1 分钟。
// Set the date we're counting down to
var setoneminutetime = new Date();
setoneminutetime.setTime(Date.now() + 1 * 60 * 1000); // Add 1 minutes to current timestamp
var countDownDate = new Date(setoneminutetime).getTime();
//set interval for the actual countdown
var x = setInterval(function() {
var now = new Date().getTime();
//end time minus the current time
var distance = countDownDate - now;
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
//show countdown in div demo
document.getElementById("demo").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
p {
text-align: center;
font-size: 60px;
margin-top: 0px;
}
<p id="demo"></p>
推荐阅读
- botframework - 通过 API 从 Azure 门户获取机器人服务团队通道健康警告?
- mysql - 通过 MYSQL 中的 TRIGGER 从另一个表中插入值
- java - 对象 Java 的设置器
- r - 如何从 R 中的长命令创建过程?
- node.js - Nginx 反向代理到节点应用程序 API
- spring - 使用 appication.yml/properties 配置不同属性的 Spring Boot Kafka 多个消费者
- android - 如何在 android 中制作可拉伸、可移动和可旋转的线条,例如在 Lucidchart 中找到的线条
- javascript - 反应小时到天的时间表
- python - 将带有转义 Unicode 的字符串更改为普通 Unicode
- c# - 打印 ArrayList 的值而不是类名