JS简单实用的倒计时效果实现代码


在JavaScript中,实现一个简单的倒计时效果可以通过使用`setInterval`函数来定期更新时间。以下是一个简洁而实用的示例代码,它演示了如何创建一个倒计时,该倒计时从指定的时间(例如未来某个时刻)开始,并每秒更新一次显示。


// 假设我们想要从当前时间后的5分钟开始倒计时
let countdownTime = new Date(); // 获取当前时间
countdownTime.setMinutes(countdownTime.getMinutes() + 5); // 设置倒计时时间(当前时间加5分钟)

// 更新倒计时并显示
function updateCountdown() {
    let now = new Date(); // 获取当前时间
    let distance = countdownTime - now; // 计算时间差

    // 清除计时器,如果倒计时结束
    if (distance < 0) {
        clearInterval(x);
        document.getElementById("countdown").innerHTML = "倒计时结束!";
        return;
    }

    // 时间计算
    let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    let seconds = Math.floor((distance % (1000 * 60)) / 1000);

    // 显示结果
    document.getElementById("countdown").innerHTML = minutes + "分 " + seconds + "秒 ";
}

// 设置定时器,每秒更新一次
let x = setInterval(updateCountdown, 1000);

// HTML 部分(假设你已经在页面上有一个id为countdown的元素)
// <div id="countdown"></div>

此代码段首先设置了倒计时结束的时间(在这个例子中是当前时间加5分钟)。然后,它定义了一个`updateCountdown`函数,该函数计算剩余时间,并更新页面上的倒计时显示。使用`setInterval`函数每秒调用一次`updateCountdown`函数,以更新倒计时。如果倒计时结束(即时间差小于0),则清除定时器,并显示“倒计时结束!”。

请注意,为了使上述代码正常工作,你需要在HTML文件中添加一个元素(如`

`),其ID为"countdown",以便JavaScript代码可以修改其内容来显示倒计时。