在同一个DOM元素上实现多次倒计时可以通过以下步骤来实现:
下面是一个示例代码,用于实现在同一个DOM元素上实现多次倒计时:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>多次倒计时示例</title>
</head>
<body>
<div id="countdown"></div>
<script>
// 选择DOM元素
const countdownElement = document.getElementById('countdown');
// 定义计时器数组
const timers = [];
// 添加倒计时任务
function addCountdown(id, endTime) {
timers.push({
id: id,
endTime: endTime,
remainingTime: endTime - Date.now()
});
}
// 更新倒计时显示
function updateCountdown() {
// 遍历计时器数组
for (let i = timers.length - 1; i >= 0; i--) {
const timer = timers[i];
timer.remainingTime = timer.endTime - Date.now();
// 如果倒计时任务已结束,则从计时器数组中移除
if (timer.remainingTime <= 0) {
timers.splice(i, 1);
continue;
}
// 更新DOM元素的显示
const seconds = Math.floor(timer.remainingTime / 1000);
countdownElement.innerHTML = `倒计时${timer.id}: ${seconds}秒`;
}
}
// 使用setInterval定期更新倒计时
setInterval(updateCountdown, 1000);
// 添加两个倒计时任务
addCountdown(1, Date.now() + 5000); // 倒计时1,5秒后结束
addCountdown(2, Date.now() + 10000); // 倒计时2,10秒后结束
</script>
</body>
</html>
这段代码使用了一个计时器数组来存储每个倒计时任务的相关信息,并通过setInterval函数定期更新DOM元素上的倒计时显示。每个倒计时任务都可以通过调用addCountdown函数来添加,其中id参数表示倒计时任务的标识符,endTime参数表示倒计时任务的结束时间。
请注意,这只是一个示例代码,用于说明实现多次倒计时的基本思路。根据具体需求,你可能需要进一步优化代码,并添加适当的样式和交互效果。在实际应用中,你也可以使用框架或库来简化倒计时的实现。
没有搜到相关的文章
领取专属 10元无门槛券
手把手带您无忧上云