繁体   English   中英

基于时间的样式更改器我该怎么做

[英]Time-based style changer how can I do it

有人可以解释一下如何在 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()仅返回 integer ,因此它将始终返回1112 (等等),而绝不是一个小时的一小部分:

一个 integer 数字,介于 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
}

试试你的情况如下。 getHours将返回integerhour值,而getMinutes将返回integerminutes值。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM