我想在javascript时间相关的div中更改背景颜色

时间:2015-06-15 18:50:48

标签: javascript html getelementbyid clock

我在我的主页上制作了一个实时时钟。现在我想在6点钟之后将我的#nav div的颜色改为黑色。我有这个代码,但它不起作用。时钟确实如此,但背景颜色变化不是

function maakTijd() {
    var Tijd = new Date(); 
    var h = Tijd.getHours();
    var m = Tijd.getMinutes();
    var s = Tijd.getSeconds();
    setTimeout('maakTijd()',1000);

    if (h < 10){ 
        h = "0"+ h; 
    } 

    if (m < 10){ 
        m = "0"+ m; 
    } 

    if (s < 10){ 
        s = "0"+ s; 
    } 


    var klok = document.getElementById('hometext');
    klok.textContent = h + ":" + m + ":" + s;
    klok.innerText = h + ":" + m + ":" + s;
    // the code above is the clock  

    if (h > 18 && h < 6)  //here i set the time and the if statement
    {
        document.getElementById("hometext").style.backgroundColor = "black";
    } 

}
maakTijd();

2 个答案:

答案 0 :(得分:2)

h同时不能大于18且小于6 ......

而不是:

if (h > 18 && h < 6)

使用此:

if (h > 18 || h < 6)

你可能想要或者在这里而不是和。

答案 1 :(得分:1)

getElementByID将返回一个元素数组。

做你想做的最快最脏的事情(假设一件事你想要的ID,以及其他款式尚未在线应用):

document.getElementById("hometext")[0].setAttribute("style", "background-color: black;");

虽然更好的方法可能是为你的目标元素分配一个类,它带有你想要应用的任何样式。

同样值得考虑的是,在客户端浏览器中执行时Date()函数将返回查看者时区的本地时间 - 如果您希望在 < / em> timezone你可能想要做一些与众不同的事情。