if, else if, and else"我的代码条件被错误读取

The "if, else if, and else" condition on my code is being read incorrectly

本文关键字:if else 条件 读取 代码 错误 and quot 我的      更新时间:2023-09-26
    <script type="text/javascript">
    function load2() {
            var objDate2 = new Date();
            var hour = objDate2.getHours()
            var minute = objDate2.getMinutes()
            if (hour === 12 | 24 && minute < 24 && minute >= 12){
                document.getElementById("Hour").style.animation = "rotate1 43200s linear 0s infinite normal";
            }
            else if (hour === 12 | 24 && minute < 36 && minute >= 24){
                document.getElementById("Hour").style.animation = "rotate2 43200s linear 0s infinite normal";
            }
            else{
                document.getElementById("Hour").style.animation = "rotate 43200s linear 0s infinite normal";
            }
        }
</script>

问题是语句hour === 12 | 24 &&分钟& lt;36,,Minute>= 24读错了

您使用了|而不是||||是或运算符,|是位或运算符

下面是编辑后的代码:
function load2() {
        var objDate2 = new Date();
        var hour = objDate2.getHours()
        var minute = objDate2.getMinutes()
        if (hour === 12 || 24 && minute < 24 && minute >= 12){
            document.getElementById("Hour").style.animation = "rotate1 43200s linear 0s infinite normal";
        }
        else if (hour === 12 || 24 && minute < 36 && minute >= 24){
            document.getElementById("Hour").style.animation = "rotate2 43200s linear 0s infinite normal";
        }
        else{
            document.getElementById("Hour").style.animation = "rotate 43200s linear 0s infinite normal";
        }
    }

您使用的是位运算符,意思是将时间与(12 | 24)进行比较。使用||进行逻辑比较

|是位运算符,使用||进行逻辑或操作。

12 | 24 = 28,这在你的代码中没有意义。

代替

if (hour === 12 | 24 && minute < 24 && minute >= 12){

if ((hour === 12 || hour === 24) && minute < 24 && minute >= 12){