• ベストアンサー

数秒ごとに画像を変え、リンクをさせ、かつターゲット指定も

検索で以下を発見し、数秒間隔で違う画像を表示かつリンクをはる。 というやり方はわかったのですが http://oshiete1.goo.ne.jp/kotaeru.php3?q=176758 これの、リンクのターゲット指定を 画像ごとに変える事はできるのでしょうか。 フレーム内なので、ある物は全画面表示。 ある物はフレーム内に。というふうにしたいのですが・・・

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

  • ベストアンサー
noname#199778
noname#199778
回答No.1

こんな形でしょうか? <html> <head> <script type="text/javascript"><!-- banners= new Array(); banners[0]="***1.gif"; banners[1]="***2.gif"; banners[2]="***3.gif"; banners[3]="***4.gif"; /* 以上にバナーのURLを定義 */ link= new Array(); link[0]="***1.htm<>_self"; link[1]="***2.htm<>_top"; link[2]="***3.htm<>_blank"; link[3]="***4.htm<>_self"; /* "移動先のページのURL<>指定するターゲット"という書式で、リンク先の値を定義 (上の例の_selfは同じウィンドウ(orフレーム)、_topはフレーム解除、_blankは常に新しいウィンドウで開く指定。 任意のフレームを指定する時は、この部分にフレーム名を記入) */ for (i=0; i<banners.length; i++){ tmpSrc=banners[i]; banners[i]=new Image(); banners[i].src=tmpSrc; } /* バナー画像をImageオブジェクトとして再定義 */ n=-1; function bannerChange(){ // バナーとリンク先を切り替える関数 n++; if (n==banners.length){ n=0;} document.ban1.src=banners[n].src; // バナー画像を変更 document.ban1.width=banners[n].width; // バナー画像の横幅を画像ファイルに合わせて変更(削除可) document.ban1.height=banners[n].height; // バナー画像の縦幅を画像ファイルに合わせて変更(削除可) if (document.getElementById){ // リンクを書き換える(IE5以降、Netscape6以降などDOM対応ブラウザ向け) tmpLink=link[n].split("<>") document.getElementById("link1").href=tmpLink[0]; // a要素id「link1」のhrefを変更 document.getElementById("link1").target=tmpLink[1]; // a要素id「link1」のtargetを変更 } setTimeout("bannerChange()",5000); } function jump(){ // DOM非対応ブラウザ向けのページ移動のための関数 tmpJmp=link[n].split("<>"); window.open(tmpJmp[0],tmpJmp[1]); } window.onload=bannerChange; // --></script> </head> <body> <a href="#" id="link1" onClick="if(!document.getElementById){jump(); return false;}"><img src="***1.gif" name="ban1" alt="バナー"></a> </body> </html> 参考になれば…

cat_fation_love
質問者

お礼

お礼が遅くなってすみません。 解決しました!ありがとうございました。

関連するQ&A