• ベストアンサー

数秒ごとに画像を変え、リンクをさせたい。

例えば画像A、B、C、があって、それぞれを5秒間隔で交代に表示させたいのですが その為のタグを教えて頂きたいです。 あと、その画像ごとにリンクを貼りたいのですが・・・。 AはBBS、Bは日記、Cはリンクページへ、といった感じです。 あるHPで見かけたことがあるので、出来ると思うのですが 何しろ知識不足なので、分かりやすくタグを教えて頂けると助かります。 よろしくお願いします。

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

うーん、タグではなく、JavaScriptによるプログラムを書かなければならないので、koro5さんがJavaScript未経験者だとすると、理解するのは難しいかも知れませんが。。 下のソースをコピペして、必要な箇所(後述)を書き換えて実行してみて下さい。 (IE5.0/NN4.7確認済み) <HTML> <HEAD> <SCRIPT language="JavaScript"> <!-- var banners = new Array(3); banners[0] = new Banner('A.gif', 'BBSのURL'); //  <1> banners[1] = new Banner('B.gif', '日記のURL'); banners[2] = new Banner('C.gif', 'リンクページのURL'); var banner_no = -1; function Banner(img_src, url) { this.img = new Image(); this.img.src = img_src; this.url = url; } function rotate_banner() { banner_no = (banner_no + 1) % banners.length; document.images['banner'].src = banners[banner_no].img.src; setTimeout("rotate_banner()", 5000); //  <2> } function jump() { location.href = banners[banner_no].url; } //--> </SCRIPT> </HEAD> <BODY onLoad="rotate_banner()"> <A href="javascript:jump()"><IMG name="banner" src="" width="xx" height="xx" border="0"></A> //  <3> </BODY> </HTML> <1>・・・実際の画像ファイル名と、飛び先のURLを書いて下さい(3行) <2>・・・ここの5000が、5秒を表します。 <3>・・・srcの値はなくても構いませんが、最初に表示されるものを書いておくと良いです。また、画像のサイズは指定しておいて下さい。(画像は3つとも同じサイズですよね?) 不明な点は補足下さい。

koro5
質問者

補足

ありがとうございました! きちんと表示もリンクもできました。 で、ひとつ質問があるのですが、targetを指定したいのですがどこに入れれば良いんですか? 教えて下さい。お願いします。

その他の回答 (1)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

> targetを指定したいのですがどこに入れれば良いんですか? No.1で紹介したソースの location.href = banners[banner_no].url; を、 open(banners[banner_no].url, "_blank", ""); とすればOKです。 ※_blankの部分が、targetの指定になります。 JavaScriptに関しては、下記のサイトが参考になります。

参考URL:
http://tohoho.wakusei.ne.jp/js/index.htm
koro5
質問者

お礼

ありがとうございました! 今度HPに活用したいと思います(^-^ とても助かりました。 参考サイトもこれからよく見て使いたいと思います。