我认为&&对我不适用JavaScript

时间:2018-06-30 13:15:11

标签: javascript

这是我的代码:

var txt = document.getElementById("HRS");
var dte = new Date();
var DayNum = dte.getDay();
const min = dte.getMinutes().toString().replace(/\d+/g, (match, offset,
    string) => match < 10 ? '0' + match : match);
const hours = dte.getHours().toString().replace(/\d+/g, (match, offset,
    string) => match < 10 ? '0' + match : match);
if (DayNum == 1) {
    if (hours < 07) {
        txt.innerHTML = "Ouvre à 7h30.";
        txt.style.color = "#F4524D";
    } else if (hours == 07 && min < 30) {
        txt.innerHTML = "Ouvre à 7h30.";
        txt.style.color = "#F4524D";
    } else if (hours == 07 && min > 29) {
        txt.innerHTML = "Ouvert jusqu'à 19h.";
        txt.style.color = "#4CF470";
    } else if (hours > 07 && hours < 19) {
        txt.innerHTML = "Ouvert jusqu'à 19h.";
        txt.style.color = "#4CF470";
    } else if (hours > 19) {
        txt.innerHTML = "Ouvre demain à 7h30.";
        txt.style.color = "#F4524D";
    }
} else {
    txt.innerHTML = "fermé";
}

当我删除所有&&代码时。

此代码放置在html文件中。 (在script> / script>和window.onload函数之间) 这是一个Javascript代码

1 个答案:

答案 0 :(得分:1)

主要问题在这里

if (hours < 07) {...}

在您将数字/日期输入为string类型时将不起作用

const hours = dte.getHours().toString()...
const min = dte.getMinutes().toString()...

,然后将 hours 中的string值与number 07进行比较,而 min < / em>。


string / hours转换回min或引用您的数字,使其成为number

string

如前所述,如果要将其全部保留为数字,请将if (hours < "07") {...} 更改为07