可以显示实时时间的html,怎么根据时间更改背景颜色

问题遇到的现象和发生背景

在一个可以显示实时时间的html中,希望可以根据时间修改背景颜色

问题相关代码

img

运行结果及报错内容

img

我的解答思路和尝试过的方法

根据时间是奇数偶数修改背景颜色,结果不成功,猜想无论如何变量now都不是数字?

我想要达到的结果

希望可以按照代码里的,根据奇数偶数时间,显示两种不同背景颜色

谢谢大家的意见啊!
无论如何设置,都只运行else的部分,想知道怎么修改下可以显示if的部分

这样做,满意请采纳

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body onload="show()">
    <div id="currentTime"></div>
    <script type="text/javascript">
        function show(){
            var date = new Date();
            var timestamp = Date.parse(date) / 1000;
            var now = '';
            now = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
            document.getElementById('currentTime').innerHTML = now;
            if (timestamp % 2 == 0) {
                document.body.style.backgroundColor = 'burlywood'
            }else{
                document.body.style.backgroundColor = 'cadetblue'
            }

            setTimeout('show()',1000);
        }
    </script>
</body>
</html>

那你Number(now)%2

转换一下试试

now 是一个 2:56:05 没法 取余 。你需要 转换一下

时间格式为:时:分:秒,例如:10:20:03,整体合起来是字符串,但是可以单独将时分秒获取成变量,来分别判断

now是字符串用于计算得到NaN,可以用时间戳判断

if (date.getTime() % 2 == 0) {
  ....
} else {
  ....
}