2016-07-29 50 views
0

所以,基本上,我創建了一些Javascript,在一天中的某個時間(某些時間)之後,它將更改頁面的背景顏色。我對如何去做這件事感到困惑,但在詢問本網站後,我能夠指出正確的方向。一天中的某些時段的顏色變化無法在Js中工作

下面是代碼(我的問題的信息,下面的代碼):

//determines the bg color 
 
\t var curHour = new Date().getHours(); //finds the current hour 
 
\t var background = document.getElementById('myBody'); //gets background 
 
\t if (curHour > 4 && curHour < 11){ 
 
\t \t background.style.backgroundColor = "lightblue"; //Morning 
 
\t } 
 
\t else if (curHour > 11 && curHour < 17) { 
 
\t \t background.style.backgroundColor = "#3a9fe5"; //around afternoon 
 
\t } 
 
\t else if (curHour > 17 && curHour < 21) { 
 
\t \t background.style.backgroundColor = "#102a55"; //evening 
 
\t } 
 
\t else { 
 
\t \t background.style.backgroundColor = "black"; //night 
 
\t } 
 
//Please note: this isn't ALL of the javascript, just the bit I'm using to change the color
#myBody { 
 
\t background-color: lightSeaGreen; /*This is the default color  in case something goes wrong with the JS*/ 
 
\t z-index: -999; 
 
}
<!DOCTYPE html> 
 
<html> 
 
\t <head> 
 
\t \t <script src="JsSnow.js"></script> 
 
\t \t <link rel="stylesheet" type="text/css" href="style.css"> 
 
\t </head> 
 
\t <body id="myBody"> 
 
\t \t <canvas id="myCanvas"></canvas> 
 
\t </body> 
 
</html>

好我的問題是,當我查看該頁面(這是目前上午11:30左右,我在這裏),背景顏色顯示爲黑色,但是直到晚上9點(即21小時)纔會出現黑色

我試圖修復代碼的方法是更改​​else語句黑色至:

else if (curHour > 21 && curHour < 4) { 
 
\t \t background.style.backgroundColor = "black"; //night 
 
\t }

不幸的是,當我試過了,它造成的一切在頁面上消失,並提出了頁面成爲海藻綠的的默認顏色。

奇怪的是,頁面在上午11點之前顯示了正確的顏色,昨天它顯示了傍晚和晚上的正確顏色。 。 。

回答

3

您缺少curHour==11的情況,您的代碼只能檢查嚴格小於嚴格的大小,因此在整個上午11點和下午5點的小時內,您將會陷入黑色。

+0

謝謝!對不起,如果我浪費你的時間與這個問題。 。 。我不想那麼想,真是太愚蠢了。 。 。我結束了使用> =和它工作正常。 。 。 –

相關問題