• ベストアンサー

一定時間ごとに背景画像の切り替える方法

背景画像image1.pngとimage2.pngを5秒ごとに切り替えるにはどのようにプログラミングを行えばいいのでしょうか?

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

ごめんなさい。ブラウザ依存の書き方をしてました。 訂正しておきます。 一応、IEと火狐では確認してあります。 <html> <head> <script language="javascript"> flg=1; function changeImage(num){ if(num!=1){ document.body.background="image1.png" return 1 }else{ document.body.background="image2.png" return 2 } } </script> </head> <body background="image1.png" onLoad="timeid=setInterval('flg=changeImage(flg)',5000)"> <input type="button" value="STOP" onClick="clearTimeout(timeid)"> </body> </html>

DINO-PIE
質問者

お礼

うごきました。ありがとうございました。

その他の回答 (3)

  • Blaise
  • ベストアンサー率33% (13/39)
回答No.3

チャチャじゃないんですが、 N0.2のyambejpさんのコード。ちょっと見ですが、 if(num!=1){ document.body.background="image1.png" return 1 }else{ document.body.background="image2.png" return 2 } で、戻り値のところをそれぞれ return flg=1 return flg=2 のようにしたほうがよくはないですか。まちが っていたらごめんなさい。

DINO-PIE
質問者

補足

return flg=1 return flg=2 を書き換えましたがSTOPボタンが表示されただけのページになってしまいました・・・。凡ミスでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

こんな感じでどうでしょう? 分岐条件を調整すれば、何枚でもいけるし、ランダムでも いけそうです。ついでにとめ方も書いておきました。 setIntervalの第2引数がループするミリ秒です。 <html> <head> <script language="javascript"> function changeImage(num){ if(num!=1){ document.body.background="image1.png" return 1 }else{ document.body.background="image2.png" return 2 } } </script> </head> <body background="1.jpg" onLoad="flg=1;timeid=setInterval('var flg=changeImage(flg)',5000)"> <input type="button" value="STOP" onClick="clearTimeout(timeid)"> </body> </html>

DINO-PIE
質問者

お礼

 画像ファイルと同じ階層にこのソースをコピーして、htmlファイルを作りましたが、STOPボタンが表示されただけのページになってしまいました・・・。

  • youdajin
  • ベストアンサー率25% (18/70)
回答No.1

以下のサイトは参考になりませんか?

参考URL:
http://hp.xrea.jp/m/t/12.html
DINO-PIE
質問者

補足

同じページで写真画像を一定時間ごとに切り替える操作をBODYタグに既にonLoadを使用しているのですが背景もつづけて使用できるのでしょうか? 例… <body onLoad="showPic()" onLoad="img()">

関連するQ&A