我试图根据时间显示/隐藏某些div,如下所示:
function timetheme(){
$("#dawn,#day,#dusk,#night").hide();
var d = new Date();
var n = d.getHours();
if (n > 5 && n < 8){
$("#dawn").show();
}
else if (n > 8 && n < 16){
$("#day").show();
}
else if (n > 16 && n < 20){
$("#dusk").show();
}
else {
$("#night").show();
};
};
window.onload = timetheme;
我通过改变我的电脑时钟(以及一天中的所有时间)来测试它,它的效果非常好......除了“#dusk”。如果它在4p和8p之间,它会直接进入“#night”,好像#dusk不存在一样。
我甚至尝试改变其他人(例如将#day从8a延伸到8p甚至10p)并且#day工作得很好。但是当我尝试插入#dusk(或任何其他的,如果使用不同的名称和参数),它就好像它不存在一样。
我在这里搜索并阅读了所有类似的问题,但他们总是有一些不同的东西,它没有解决我的特定问题。
提前致谢!
答案 0 :(得分:3)
您的范围应包括边缘的小时数:
if (n >= 5 && n < 8){
$("#dawn").show();
}
else if (n >= 8 && n < 16){
$("#day").show();
}
else if (n >= 16 && n < 20){
$("#dusk").show();
}
else {
$("#night").show();
};