• ベストアンサー

バナーのランダム表示(複数、重複不可、個数限定)

同じような質問はありますが、少し発展系なので質問させてください。 また、他で検索してみたのですが、同じようなものがなかったので。 10個(増殖可能)のバナー(リンク付き画像)をランダムに5個(バナー重複はない状態)だけ表示させたいのですが、どのようにしたらよいのでしょうか? 補足:使用方法としては、外部で読み込み、<TD>に表示させようとしています。 よろしくお願いします。ご教授ください。

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

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

バナーをセットした配列をシャッフルすれば、重複なくランダムにバナーを選ぶことができます。 以下、サンプル(動作確認済み) var ads = new Array(); ads[ads.length] = 'バナー1'; ads[ads.length] = 'バナー2'; ads[ads.length] = 'バナー3'; ads[ads.length] = 'バナー4'; ads[ads.length] = 'バナー5'; ads[ads.length] = 'バナー6'; ads[ads.length] = 'バナー7'; ads[ads.length] = 'バナー8'; ads[ads.length] = 'バナー9'; ads[ads.length] = 'バナー10'; function write_ad() {   shuffle(ads);   for (var i = 0; i < 5; i++) {     document.write(ads[i], "<br>");   } } function shuffle(array) {   for (var i = array.length; --i; ) {     var r = Math.floor(Math.random() * (i+1));     if (r != i) {       var tmp = array[i];       array[i] = array[r];       array[r] = tmp;     }   } } ※これを外部スクリプトファイルとして保存し、必要なHTMLで呼び出して write_ad(); を実行して下さい。 ※表示部分(document.write~)は適宜修正して下さい。 ※インデントに全角空白を使っているので、コピーする場合はタブなどに置換して下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • バナーのランダム配置

    4つのgifバナーを表示したページがあります。 01.gif gifバナーのリンク先(01.html) 02.gif     〃 (02.html) 03.gif     〃 (03.html) 04.gif     〃 (04.html) ページを訪問する度に ・4つのバナーの順序(配置)がランダムに入れ替わる ・同じgifバナーが重複しない ・順序が入れ替わっても、リンク先は変わらない 上記の条件に合う方法を探しています。 バナーはテーブルを使用して横一列に配置しています。 ご存知の方、おられましたら お教え願えませんでしょうか。

  • バナー(javascript)をランダムで表示

    FC2ブログのプラグインにjavascriptを使ってバナー広告をランダムで表示しています。 今までは問題なかったのですが、新しくバナーを加えた際に、そのバナーがjavascriptで出来たものだったので、どうしてよいものかわからなくなってしまいました。 ランダム表示にはこちらのページを参考、というかコピーしました。 http://javascript.eweb-design.com/0616_ra.html 貼り付けたいバナーのソースです↓ ソースの改変は認められていません。 <!--- ---> <script type="text/javascript"><!--- ---></script> <script src='jsファイルのURL'></script> <noscript></noscript> <!--- ---> これ以外のバナーはgifとリンクで構成されていましたので特に問題ありませんでしたが、そこに上記のjavascriptバナーを加えてランダムに表示することはできますか? 自分で調べてみましたが、自力では見つけられなかったのでココで質問をする事にいたしました。 回答お願いします。

  • ランダムに複数のリンク、重複なし。

    http://www.eweb-design.com/affiliate/0303_jr.html こちらのサイトのソースを参考にランダムに複数のリンクを表示したいと考えています。 このソースだとランダムに複数のリンクを表示できたのですが、重複しないように表示ができません。 そこでいくつか調べてみたところ、重複しないようにランダムに複数表示するスクリプトを発見しましたが、あまりシンプルに作成されていないため使用するのをやめました。 やはり、重複しないという条件をつけるとスクリプトは長くなってしまうのでしょうか? このスクリプトは諦めて他のスクリプトを試すべきなのでしょうか? JavaScriptに詳しい方、よろしくお願いします。

  • バナーのランダム表示と外部リンク計測について

    初めまして。 Java初心者です。よろしくお願い致します。 現在、自サイトにバナー画像がランダムで表示される様に貼り付けて、尚かつそれぞれのバナーがクリックされた回数を計測したいと考えています。 ランダム表示に関しては、現在以下のソースで対応させています。 <script type="text/javascript"> <!-- url = new Array(); img = new Array(); tar = 'target="_blank"'; url[0] = "画像1のリンク先URL"; img[0] = "画像1"; url[1] = "画像2のリンク先URL"; img[1] = "画像2"; N = Math.round(Math.random() * (url.length - 1)); DISP = "<a href='" + url[N] + "' " + tar + "> <img src='" + img[N] + "' border=0></a>"; --> </script> <script> <!-- document.write(DISP); --> </script> これに外部リンクへのクリック数を追う機能を追加するにはどうすればよいでしょうか? 宜しくお願い致します!

  • バナーをランダム表示させるphpを探しています。

    http://www.yahoo.co.jp/のようなバナー広告をつくりたいのですが、 どこかのサイトにこういったphpは無いでしょうか... 画像(jpg)をランダム表示させる事はできたのですが(他のサイトでphpを発見)flash(swf)データを表示はできませんで... しかもそれにリンクを貼るほのどの技術も無く困っています。 根本的に初心者の私の勉強不足で理解力が無いのは痛感しておりますがお助けいただけますかm(_ _)m

    • ベストアンサー
    • PHP
  • 【ランダムバナー】各バナーごとに表示時間を設定

    一定時間ごとにランダムに、 バナーとそのリンク先を切り替え表示したいのですが 例えばA・B・Cと3つのバナーを表示するのに Aは10秒 Bは5秒 Cは15秒 表示といったように、 それぞれのバナーで表示時間を変えたい場合には どうしたらよいのでしょうか? 均等な時間表示方法しか、参考ページを見つけられずに困っております。。。 すみませんが、よろしくお願いいたします!

  • ランダムに2つの画像を重複することなく表示したい

    複数ある候補の中から、ランダムに2つの画像を重複することなく抜き出して表示させたいのですが、どうすればよいでしょうか?

    • ベストアンサー
    • PHP
  • 教えて下さい。ランダムにバナー配置

    HPにバナーを起きたいのですが、配置順序をランダムに入れ替えたいのです。ランダムバナーで調べても複数の画像の中から1つが表示される物しかなく自分ではどうもできないので困ってます。 バナー数は10個で10個表示で順序だけ入れ替える物が欲しいのですがよろしくお願い致します。 できれば、テーブルでレイアウトしてますのでテーブルに配置しやすい物がいいんですが…。

  • リンク付バナーのランダム表示のづれを修正したい

    以前こちらで、以下のようなそれぞれの画像にリンクを付けた画像をランダム表示させるjavaスクリプトを教えて頂き、html上に記述しましたが、指定した画像とリンク先が途中づれてしまいます。 ページ数と用意した画像とリンク先は23、表示は8。すべて同じように記述された商品紹介ページです。ランダムに表示される画像からジャンプ先のページに行き、そのページ内の画像からまた別ページにジャンプを繰り返し確認したところ、途中で指定した画像とリンクにづれが出てきます。 ある一定のところでづれているのかどうかも、わからず、何故づれるのか?困っています。 どなたかお解かりの方、ご助力いただけないでしょうか? 記述は以下のとおりです。 <script type="text/javascript"> var imgcount=23; var viewcount=8; var Images = new Array(); var Link = new Array(); Link[0]="f-00.htm"; Link[1]="f-01.htm";・・・ Images[0] = './../img/0.jpg'; Images[1] = './../img/1.jpg';・・・ </script> <body onload="changeImage()" > <table id="ramdom_box"> <tr><td id="a_0"></td><td id="a_1"></td><td id="a_2"></td><td id="a_3"></td></tr> <tr><td id="a_4"></td><td id="a_5"></td><td id="a_6"></td><td id="a_7"></td></tr> </table>

  • 更新する度にイラストとバナーを同時に、ランダムに表示するには

    http://www.tor.lislis.info/ ↑このサイトのように、イラストとバナーを同時に、ランダムに表示し、他サイトへのリンクを張り、画像にALT属性を付けるには、どのようなスクリプトを組めば良いのでしょうか?JavaScriptで可能なのでしょうか?それともCGIでやっているのでしょうか? このようなJavaScript、またはCGIを知っている方、ご教授お願いします。