基于时间的风格改变者我该怎么做



有人可以解释我如何在Javascript中做一个基于时间的风格改变器吗?我试图做一个测试,但它不起作用。只有当我在 if 语句中手动将代码">"修改为"<"时,它才会更改样式 这是我使用的代码

var myDate = new Date();
if(myDate.getHours() < 11.25) {
document.getElementById('box').style.backgroundColor = "red";
} else {
document.getElementById('box').style.backgroundColor = "black";
}

按如下方式尝试您的条件。getHours将返回integerhourgetMinutes将返回integerminutes

if (myDate.getHours() < 11 || (myDate.getHours() == 11 && myDate.getMinutes() < 15)) {
// your code
}

进一步阐述我的评论:getHours()只返回一个整数,所以它总是返回1112(等等(,而不是一小时的几分之一:

一个介于 0 和 23 之间的整数,表示根据本地时间给定日期的小时。

因此,在您的情况下,将其与非整数值进行比较没有多大意义。

如果要设置if语句,以便在 11 点过后的四分之一之前应用某种样式,那么您也需要将其与getMinutes()进行比较。这是假设你所说的11.25是指11 hour + 0.25 hour,其中 0.25h = 15 分钟:

if (myDate.getHours() === 11 && myDate.getMinutes() < 15 || myDate.getHours() < 11) {
// Logic here
}

最新更新