• ベストアンサー

画像を入れ替えたい

こんにちは。初心者であまりよく分からないので教えていただきたいのですが・・・下記のプログラムで画像を入れ替えるというのをやりたいのですが、ずっと入れ替え続けるのではなくて、1枚目から2枚目に入れ替えるだけで終わらせたいのです。for文を使えばいいとのかなと思うのですが、どこにforを入れたら良いのか分かりません。あるいはもっと簡単なやり方があるのでしょうか・・・。急いでやらないといけないので教えていただけたらと思います。どうぞよろしくお願いします。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- // 画像を一定間隔で入れ替える // img0.jpg,img1.jpgなどの数字が続いたファイルを複数用意します。 num = 2; // 入れ替える画像の枚数(最初の画像も含める) nme = "img/img" // 画像のディレクトリとファイル名の数字と拡張子より前の部分 exp = "jpg" // 拡張子 cnt = 0; function changeImage() { cnt++; cnt %= num; document.img.src = nme + cnt + "." + exp; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#ffffff" onLoad="setInterval('changeImage()',1000)"> </BODY> </HTML>

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

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.2

意図がはっきりと伝わらないところがあります。 >>>ファイルを複数用意します。       具体的には、何枚程度でしょうか? >>>1枚目から2枚目に入れ替える       のは、何箇所ですか。(1箇所?) >>>for文を使えばいいのかな       ということは、複数の箇所ですか。 ページの全ての画像を替えるということでよいのですか。 とりあえず今提出されているソースを元に変更すると、 ----------------------------------------------------- <script language="JavaScript" type="text/javascript"> <!-- // 画像を一定間隔で入れ替える // img0.jpg,img1.jpgなどの数字が続いたファイルを複数用意します。 num = 2; // 入れ替える画像の枚数(最初の画像も含める) nme = "img/img" // 画像のディレクトリとファイル名の数字と拡張子より前の部分 exp = "jpg" // 拡張子 cnt = 0; function changeImage() { cnt++; cnt %= num; document.imgA.src = nme + cnt + "." + exp; clearInterval(tid); } //--> </script> </head> <body bgcolor="#ffffff" onload="tid=setInterval('changeImage()',1000)"> <img src="img0.gif" name="imgA"> </body> ----------------------------------------------------- 画像は、img0.jpg,img1.jpgのみとしています。 imgでとり間違えやすいところは、imgAに書き換えています。 まず動かして確認してみてください。

yashiron
質問者

お礼

ありがとうございました。実はフィルターを使って変更したいので、いったん締め切りさせて頂き、再度質問させていただくことにしました。またアドバイスをいただけると幸いでございます。

その他の回答 (1)

noname#84373
noname#84373
回答No.1

<html><body> <img src="img0.jpg" id="photo"> <script> window.onload = function(){ setTimeout( "document.getElementById('photo').src ='img1.jpg';",2000);//2秒後 } </script> </body></html>

yashiron
質問者

補足

早速ありがとうございました。実は大事なことを書き忘れていました・・・切り替わるときにさっと切り替わるのではなくて、フィルターを使って、動的に切り替えたいのですが・・・。