私はちょうどjavascriptを学び始めているので、これはかなり簡単な質問です。私は答えを探すことを試みたが、私はちょうど「ああ、これは違っているが、私の質問にも答えてくれるようには分からないと思う。if文で2つの値を変更する
私ができることをしたいのは、時刻に基づいてページの背景色を変更し、時刻に基づいて画像を変更することです。私は、ページの先頭に配置された背景色のif ... else if ...文と、本文の画像に影響する別のif ... else if ...文を処理します。
BGの色を変更するヘッドスクリプトは次のようになります。
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...
しかしそれは動作しませんでした。
私は3番目の(動作しない)例では、2つのこと(bgの色と画像を変更する)を行うことはできません。
!ありがとう! – mattjulian
getElementsByTagName()は、すべての要素を返すときに要素の配列を返します(要素が複数であることに注意してください)。ページから一致する要素のこの場合、たった1つの要素しか返されないので、ただ1つの
タグがあるためです。 getElementsByTagname( 'img')を実行した場合、複数の要素が返されます。いずれの場合も、返された要素は配列に返されます。 [0]は配列の最初の項目を指定する方法です(この場合は唯一の項目です)。より多くのルックアップを学びたい場合は、JavaScript配列表記 – MartinAnstyGotcha。再度、感謝します! – mattjulian