我剛剛開始學習JavaScript,因此這可能是一個非常簡單的問題。我試着尋找答案,但我想我只是不知道如何,'哦,這看起來不同,但也回答我的問題。更改兩個值如果語句
我希望能夠做的是根據一天的時間來改變根據一天的時間網頁的背景顏色,也改變圖像。我使用if ... else if ...語句來處理放置在頁面頭部的背景色,以及單獨的if ... else if ...語句影響正文中的圖像。
頭腳本,改變背景顏色的樣子:
var d=new Date();
var time=d.getHours();
if (time>=0 && time<=5)
{
document.write ('<body style="background-color: 296688">')
}
else if
...然後在其他時間跟隨,每一個不同的顏色。
身體腳本改變圖像的樣子:
<img src="" name="sunMoon" id="sunMoon" />
<script type="text/javascript">
var d=new Date();
var time=d.getHours();
var elem = document.getElementById('sunMoon')
if (time>=0 && time<=5)
{
elem.src = 'Images/sunMoon1.png'
}
else if
...然後在其他時間跟隨,每一個不同的SRC。
是否有可能使用相同的if ... else if語句在頭部更改圖像和bg顏色?我在頭部嘗試了這樣的東西:
var d=new Date();
var time=d.getHours();
var elem=document.getElementById('sunMoon')
if (time>=0 && time<=5)
{
document.write ('<body style="background-color: 2966B8">');
elem.src="images/sunMoon1.png"
}
else if...
但它沒有工作。
我認爲與第三個(非工作)的例子,要麼不可能有一個如果......做兩件事(改變顏色和圖像),或者我只是搞亂圖像代碼。
,完美的工作!謝謝! (另一個初學者問題:在var body = document.getElementsByTagName('body')[0],這個零爲什麼?) – mattjulian 2012-03-09 14:07:15
getElementsByTagName()返回元素數組(注意它是「元素」,複數),因爲它返回所有來自頁面的匹配元素。在這種情況下,只有一個元素會被返回,因爲只有一個
標籤;但是如果您確實獲得了ElementElementByTagname('img'),它將返回多個元素。無論哪種情況,返回的元素都會返回到一個數組中。 [0]是你如何指定你想要數組的第一個項目(在這種情況下是唯一的項目)。如果你想了解更多查看JavaScript數組符號 – MartinAnsty 2012-03-09 15:46:57Gotcha。再次感謝! – mattjulian 2012-03-09 19:57:16