• ベストアンサー

javascriptで毎月替わる画像

トップページで月ごとに写真画像を入替えたいんです。 12枚ある写真画像が、毎月勝手に替わるためのjavascriptを教えてください。 (参考になるサイトでも構いません。) javascriptに関しては転用することしかできません。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • HogePiyo
  • ベストアンサー率57% (24/42)
回答No.4

たびたびすんません。 ↓ちょっち修正です。 function changeImage3(){ imageArray = new Array( 31 ); imageArray[0] = "ne.jpg"; imageArray[1] = "ushi.jpg"; imageArray[2] = "tora.jpg"; imageArray[3] = "u.jpg"; imageArray[4] = "tatu.jpg"; imageArray[5] = "mi.jpg"; imageArray[6] = "uma.jpg"; imageArray[7] = "hituji.jpg"; imageArray[8] = "saru.jpg"; imageArray[9] = "tori.jpg"; imageArray[10] = "inu.jpg"; imageArray[11] = "i.jpg"; /*------------- 中略 -------------*/ imageArray[30] = "Hoge.jpg"; dd = new Date(); document.write( "<IMG SRC='", imageArray[ dd.getDate() - 1 ], "'>" ); } 12枚の画像だけで実現する場合、 function changeImage4(){ imageArray = new Array( 31 ); imageArray[0] = "ne.jpg"; imageArray[1] = "ushi.jpg"; imageArray[2] = "tora.jpg"; imageArray[3] = "u.jpg"; imageArray[4] = "tatu.jpg"; imageArray[5] = "mi.jpg"; imageArray[6] = "uma.jpg"; imageArray[7] = "hituji.jpg"; imageArray[8] = "saru.jpg"; imageArray[9] = "tori.jpg"; imageArray[10] = "inu.jpg"; imageArray[11] = "i.jpg"; dd = new Date(); da = dd.getDate() - 1; if( da >= 24 ){ da -= 24; }else if( da >= 12){ da -= 12; } document.write( "<IMG SRC='", imageArray[ da ], "'>" ); } です。 それと、関数名がそれぞれ微妙に違っていることに注意してくださいね。 changeImage3() と changeImage4() です。 適宜読み替えて使ってください。

yasu939
質問者

お礼

感謝、、、感謝します。 さっそくやってみま~す!

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.5

>画像入替えを例えば1日ごとにして、 >テストしてみたいのですが、、、 >それも教えていただけないでしょうか?! では、 img.src=ig[d.getMonth()+1]; この行を var no = d.getDate()%13; img.src=ig[no]; img.insertAdjacentHTML("afterEnd",no+":"+ig[no]); こうするといいですよ。

すると、全ての回答が全文表示されます。
  • HogePiyo
  • ベストアンサー率57% (24/42)
回答No.3

すいません。 言葉がちょっと足りなかったみたいですね。 ちょいと補足します。 <BODY> ~ </BODY> 内で、 <SCRIPT LANGUAGE="javascript"> <!-- changeImage2(); //--> </SCRIPT> と記述すると、記述した場所に画像が貼られます。 毎日画像を変えるテスト、 function changeImage3(){ imageArray = new Array( 31 ); imageArray[0] = "ne.jpg"; imageArray[1] = "ushi.jpg"; imageArray[2] = "tora.jpg"; imageArray[3] = "u.jpg"; imageArray[4] = "tatu.jpg"; imageArray[5] = "mi.jpg"; imageArray[6] = "uma.jpg"; imageArray[7] = "hituji.jpg"; imageArray[8] = "saru.jpg"; imageArray[9] = "tori.jpg"; imageArray[10] = "inu.jpg"; imageArray[11] = "i.jpg"; /*------------- 中略 -------------*/ imageArray[30] = "Hoge.jpg"; dd = new Date(); document.write( "<IMG SRC='", imageArray[ dd.getDate() ], "'>" ); } とする方法があります。 ただ、これだと月によっては表示されない画像が出てきますが、、、 あるいは、12枚の画像だけで実現する場合、 function changeImage4(){ imageArray = new Array( 31 ); imageArray[0] = "ne.jpg"; imageArray[1] = "ushi.jpg"; imageArray[2] = "tora.jpg"; imageArray[3] = "u.jpg"; imageArray[4] = "tatu.jpg"; imageArray[5] = "mi.jpg"; imageArray[6] = "uma.jpg"; imageArray[7] = "hituji.jpg"; imageArray[8] = "saru.jpg"; imageArray[9] = "tori.jpg"; imageArray[10] = "inu.jpg"; imageArray[11] = "i.jpg"; dd = new Date(); da = dd.getDate(); if( da >= 24 ){ da -= 24; }else if( da >= 12){ da -= 12; } document.write( "<IMG SRC='", imageArray[ da ], "'>" ); } として、<HEAD> ~ </HEAD> 内に入れ、先に述べた方法で <BODY> 内で呼び出してください。

すると、全ての回答が全文表示されます。
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.2

<HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <TITLE></TITLE> <SCRIPT LANGUAGE=javascript> <!-- var ig = new Array(); ig[1]="thmimg1.jpg"; ig[2]="thmimg2.jpg"; ig[3]="thmimg3.jpg"; ig[4]="thmimg4.jpg"; ig[5]="thmimg5.jpg"; ig[6]="thmimg6.jpg"; ig[7]="thmimg7.jpg"; ig[8]="thmimg8.jpg"; ig[9]="thmimg9.jpg"; ig[10]="thmimg10.jpg"; ig[11]="thmimg11.jpg"; ig[12]="thmimg12.jpg"; function window_onload() { var d = new Date(); img = document.getElementById("img"); window.status=d.getMonth()+1 + "/"+d.getDate() + "/"+ d.getYear(); img.src=ig[d.getMonth()+1]; } //--> </SCRIPT> </HEAD> <BODY LANGUAGE=javascript onload="return window_onload()"> <P><IMG id=img alt="画像"></P> </BODY> </HTML> どうでしょうか。 window.status=・・・・ ステータスウィンドウに日付を表示させています。 <IMG id=img alt="画像"> これをページの好きなところへ置いてね。

yasu939
質問者

補足

感謝いたします。 で、補足になって申し訳ありませんが、画像入替えを例えば1日ごとにして、 テストしてみたいのですが、、、それも教えていただけないでしょうか?!

すると、全ての回答が全文表示されます。
  • HogePiyo
  • ベストアンサー率57% (24/42)
回答No.1

1.jpg ~ 12.jpg を用意する場合、 <script language="javascript"> <!-- function changeImage1(){ dd = new Date(); document.write( "<IMG SRC='", dd.getMonth() + 1, ".jpg'>" ); } //--> </script> を <HEAD> ~ </HEAD> に入れて <BODY> 内で changeImage() を呼び出す。 ファイル名が月ごとに違う場合、 <script language="javascript"> <!-- function changeImage2(){ imageArray = new Array( 12 ); imageArray[0] = "ne.jpg"; imageArray[1] = "ushi.jpg"; imageArray[2] = "tora.jpg"; imageArray[3] = "u.jpg"; imageArray[4] = "tatu.jpg"; imageArray[5] = "mi.jpg"; imageArray[6] = "uma.jpg"; imageArray[7] = "hituji.jpg"; imageArray[8] = "saru.jpg"; imageArray[9] = "tori.jpg"; imageArray[10] = "inu.jpg"; imageArray[11] = "i.jpg"; dd = new Date(); document.write( "<IMG SRC='", imageArray[ dd.getMonth() ], "'>" ); } //--> </script> を <HEAD> ~ </HEAD> に入れて <BODY> 内で changeImage() を呼び出す。 とか。

yasu939
質問者

補足

感謝いたします。 画像名が月ごとに違うので、下記でテストしてみます。 で、なんでも聞いちゃいますが、 <BODY> 内で changeImage() を、、、、 が判りません。(ごめんなしゃい) と、テストするのに毎月というわけにもいかないので、 とりあえず1日づつ(毎日)変わるようにしてみたいんですけど、 その場合の修正箇所も教えてください。

すると、全ての回答が全文表示されます。

関連するQ&A