我在我的主页上制作了一个实时时钟。现在我想在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();
答案 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你可能想要做一些与众不同的事情。