在 this post有人(royhowie)分享了一个计算每个星期日的js。这段代码运行良好,但是当我尝试通过将增量值从 7 更改为 2 或 1 使其在今天(当天)之后的几天(例如星期二、星期一)工作时,这显示计时器已完成。如何让它发挥作用?
var getNextSunday = function () {
var today = new Date(),
day = today.getDay(), // 1 for Mon, 2 for Tue, 3 for Wed, etc.
delta = 7 - day;
var sunday = new Date(today.getTime() + (delta * 24 * 3600 * 1000));
sunday.setHours(11);
sunday.setMinutes(15);
sunday.setSeconds(0);
return sunday;
}
var t = getNextSunday(),
p = document.getElementById("time"),
timer;
var u = function () {
var delta = t - new Date(),
d = delta / (24 * 3600 * 1000) | 0,
h = (delta %= 24 * 3600 * 1000) / (3600 * 1000) | 0,
m = (delta %= 3600 * 1000) / (60 * 1000) | 0,
s = (delta %= 60 * 1000) / 1000 | 0;
if (delta < 0) {
clearInterval(timer);
p.innerHTML = "timer's finished!";
} else {
p.innerHTML = d + "d " + h + "h " + m + "m " + s + "s";
}
}
timer = setInterval(u, 1000);
<h1 id="time"></h1>
已解决
@Reti43 先生,你是天才。非常尊重你。
最佳答案
这不是您要更改的数字 7,而是分配给日期的值:
现有代码:
day = today.getDay(), // 1 for Mon, 2 for Tue, 3 for Wed, etc.
你想要:
day = 2, // 1 for Mon, 2 for Tue, 3 for Wed, etc.
关于javascript - 如何让倒计时适用于周一、周二和其他时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34426414/