jQuery的“否则,如果”:第一次合作,但第二个是不是
问题描述:
我想显示/隐藏根据一天中的某个时间div的,就像这样:jQuery的“否则,如果”:第一次合作,但第二个是不是
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不存在一样。
我甚至尝试改变其他人(例如从8a延伸到8p甚至10p)并且#day工作得很好。但是,当我尝试插入#dusk(或其他任何其他名称和参数时),它就好像它不在那里一样。
我已经搜索并通读了这里所有类似的问题,但他们总是有一些不同的东西,它不能解决我的特定问题。
在此先感谢!
答
你的范围应包括时间从边缘:
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();
};
+0
我几乎有点不相信它是那么简单,但它现在工作。谢谢! (哇,你们快) – kehrin
请注明您的HTML代码段。 –
我在这里工作很好http://jsfiddle.net/j08691/2Csmu/ – j08691