gpt4 book ai didi

javascript - If 语句未在 setInterval 内运行

转载 作者:行者123 更新时间:2023-12-02 17:45:47 24 4
gpt4 key购买 nike

这是我正在使用的代码

var d = new Date(), // New Date object
M = d.getMonth(), // Month
D = d.getDate(), // Day of the month
h = d.getUTCHours(), // Hours in 24 hour time
m = d.getUTCMinutes(); // Minutes

console.log(M+'/'+D+' '+h+':'+m);

var href = location.href;
if(M == 1 && D == 13 && h >= 21 && m >= 17){
// It is time so lets just go there
window.location = href+'live';
}else{
// It isn't already time so lets check every 30 seconds
setInterval(checkTime, 1000)
}
function checkTime() {
if(M == 1 && D == 13 && h >= 21 && m >= 17){
// It is time so lets just go there
window.location = href+'live';
}
console.log('checked time');
}

我正在尝试检查日期和时间,如果是正确的日期和时间,则转发到不同的页面,如果不是,则每隔几秒检查一次(目前每 1 秒检查一次,但我可能会跳过这个最多 15 或 30),然后再次检查,如果现在是正确的日期和时间,则转到新页面。

第一个 if 语句有效,但它似乎没有在设置间隔函数内运行 if 语句。

也许我只是不明白 setInterval 是如何工作的,但我看不出我的代码有问题。

最佳答案

因为您没有更新变量,所以值永远不会改变。

您每次都需要进行日期对象检查。他们不更新。

以下内容

d = new Date(), // New Date object
M = d.getMonth(), // Month
D = d.getDate(), // Day of the month
h = d.getUTCHours(), // Hours in 24 hour time
m = d.getUTCMinutes(); // Minutes

需要位于您的 checkTime 方法中。

关于javascript - If 语句未在 setInterval 内运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21765707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com