前端通过后端返回的结束时间减去系统当前时间计算出剩余时间(00:00:00)并倒计时
时间: 2023-08-29 15:05:33 浏览: 138
可以使用JavaScript的Date对象和定时器来实现倒计时功能。
首先,获取后端返回的结束时间,并将其转换成Date对象:
```javascript
var endTime = new Date("2021-12-31 23:59:59"); // 假设后端返回的结束时间为2021年12月31日23点59分59秒
```
然后,使用定时器每秒更新一次剩余时间,并将其显示在页面上:
```javascript
var countdownTimer = setInterval(function() {
var now = new Date(); // 获取当前时间
var remainingTime = endTime - now; // 计算剩余时间(毫秒数)
if (remainingTime <= 0) {
clearInterval(countdownTimer); // 倒计时结束,清除定时器
document.getElementById("countdown").innerHTML = "00:00:00"; // 显示倒计时结束的提示信息
} else {
var hours = Math.floor(remainingTime / (60 * 60 * 1000)); // 计算剩余小时数
var minutes = Math.floor((remainingTime % (60 * 60 * 1000)) / (60 * 1000)); // 计算剩余分钟数
var seconds = Math.floor((remainingTime % (60 * 1000)) / 1000); // 计算剩余秒数
document.getElementById("countdown").innerHTML = hours + ":" + minutes + ":" + seconds; // 显示剩余时间
}
}, 1000); // 每秒更新一次剩余时间
```
最后,在页面上添加一个元素来显示倒计时:
```html
<div id="countdown"></div>
```
完整的代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>倒计时示例</title>
</head>
<body>
<div id="countdown"></div>
<script>
var endTime = new Date("2021-12-31 23:59:59"); // 假设后端返回的结束时间为2021年12月31日23点59分59秒
var countdownTimer = setInterval(function() {
var now = new Date(); // 获取当前时间
var remainingTime = endTime - now; // 计算剩余时间(毫秒数)
if (remainingTime <= 0) {
clearInterval(countdownTimer); // 倒计时结束,清除定时器
document.getElementById("countdown").innerHTML = "00:00:00"; // 显示倒计时结束的提示信息
} else {
var hours = Math.floor(remainingTime / (60 * 60 * 1000)); // 计算剩余小时数
var minutes = Math.floor((remainingTime % (60 * 60 * 1000)) / (60 * 1000)); // 计算剩余分钟数
var seconds = Math.floor((remainingTime % (60 * 1000)) / 1000); // 计算剩余秒数
document.getElementById("countdown").innerHTML = hours + ":" + minutes + ":" + seconds; // 显示剩余时间
}
}, 1000); // 每秒更新一次剩余时间
</script>
</body>
</html>
```
阅读全文