• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JSを用いてサイトを開いた際にランダムでバナー表示する仕組みを作りたい)

JSを用いてサイトを開いた際にランダムでバナー表示する仕組みを作りたい

このQ&Aのポイント
  • サイトを開いた際にランダムでバナーを表示するためのJSの仕組みを作りたい。
  • バナーはランダムに表示され、設定によって新しいウィンドウで開いたり同じウィンドウで開いたりする。
  • 現在のコードではうまく動作していないので、修正方法を教えてほしい。

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

  • ベストアンサー
  • neepon
  • ベストアンサー率100% (3/3)
回答No.2

同条件のJSを作ってみました。 但し、バナーはn:n対応の処理になっています。 参考にどうぞ! <SCRIPT language="JavaScript"> <!-- var BrNum = 1; //表示するバナー件数 var toRandomNum = 0; var aRDM = new Array(); var aLNK = new Array(); i = 0; aLNK[i++] = new MakeTable("01.jpg","http://www.111111.com/","_self"); aLNK[i++] = new MakeTable("02.jpg","http://www.222222.com/","_blank"); //================================== // TABLE CREATE FUNCTION //================================== function MakeTable(ImgFile,SiteUrl,LinkTarget){ this.IMG = ImgFile; this.URL = SiteUrl; this.TGT = LinkTarget; return this; } // ランダム処理 beRandom(); // 書き込み処理 for (j = 0; j < BrNum; j++){ document.write("<a href='"+aLNK[aRDM[j]].URL+"'><img src='"+aLNK[aRDM[j]].IMG+"' target='"+aLNK[aRDM[j]].TGT+"' border='0'></a>"); } //================================== // ランダム処理 //================================== function beRandom(){ toSet = 0; do{ for (i=0;i<aLNK.length;i++){ if (beCheck() == 0){ aRDM[toSet] = toRandomNum; toSet++; } } }while(toSet < aLNK.length) } function beCheck(){ toRandomNum = Math.floor(Math.random()*(aLNK.length)); for (j=0;j<toSet;j++){ if (aRDM[j] == toRandomNum){ return 1; } } return 0; } //--> </SCRIPT>

guchi_sun
質問者

お礼

ありがとうございます! 試してみたいと思います。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

それで書き出されるHTMLは以下のようになるけれど、HTMLがおかしくない? <a href='wwwwwww.com'> <img src='img/01r.jpg' target='_blank' border='0'> </a>           ↓ <a href='wwwwwww.com' target='_blank'></a>

guchi_sun
質問者

お礼

本当ですね。。。すいません。。。 一応 n = Math.floor(Math.random()*jmp.length); document.write("<a href='"+jmp[n]+"' target='"+tgt[n]+"'>"); document.write("<img src='"+img[n]+"' border='0'>"); document.write("</a>"); 書き換えてみたのですが。。。 今度は画像自体がきえてしまいました。。。

関連するQ&A