- ベストアンサー
画像(リンク付)をランダム表示する方法
タイトルそのままです。 画像が10点あって、それぞれ別々のリンク先をもっています。この中から3点ランダムに選択して表示させるにはどうしたらよいのでしょうか? 画像ランダム表示1点のみ、ならわかります。 複数表示で、しかもリンク付、というのがわかりません。 具体的な例を言うと、広告バナーがランダム表示されますが、それの複数バージョンです。表示数は「3」で固定とします。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
広告バナーの画像とURLを外部JavaScriptファイルに しておくと管理しやすいですよ。 var AAA = new Array(); var i = 0; AAA[i++] = new Array( "http:\/\/aaa.co.jp/aaa.gif","http:\/\/aaa.co.jp/"); AAA[i++] = new Array( "http:\/\/bbb.co.jp/bbb.gif","http:\/\/bbb.co.jp/"); AAA[i++] = new Array( "http:\/\/ccc.co.jp/ccc.gif","http:\/\/ccc.co.jp/"); AAA[i++] = new Array( "http:\/\/ddd.co.jp/ddd.gif","http:\/\/ddd.co.jp/"); AAA[i++] = new Array( "http:\/\/eee.co.jp/eee.gif","http:\/\/eee.co.jp/"); AAA[i++] = new Array( "http:\/\/fff.co.jp/fff.gif","http:\/\/fff.co.jp/"); AAA[i++] = new Array( "http:\/\/ggg.co.jp/ggg.gif","http:\/\/ggg.co.jp/"); AAA[i++] = new Array( "http:\/\/hhh.co.jp/hhh.gif","http:\/\/hhh.co.jp/"); AAA[i++] = new Array( "http:\/\/iii.co.jp/iii.gif","http:\/\/iii.co.jp/"); AAA[i++] = new Array( "http:\/\/jjj.co.jp/jjj.gif","http:\/\/jjj.co.jp/"); 10件中3件を選ぶ方法はこんなのもあります。 for(i=0;i<3;i++){ xx = Math.floor(Math.random() * AAA.length); var Target = AAA[xx]; xx++; document.write("<A HREF=\"" + Target[1] + "\"><IMG SRC=\"" + Target[0] + "\">" + Target[1] + "</A>"); AAA = AAA.slice( 0,xx-1 ).concat(AAA.slice( xx )); }
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
10の中から3選ぶ方法はこんな感じでいかが? あとはimageやリンクをつかってください。 <script language="javascript"> var a=new Array() for (var i=0;i<=9;i++){ a[i]=i; } for (var i=9;i>=1;i--){ var tmp1=Math.floor(Math.random() *(i+1)); var tmp2=a[i]; a[i]=a[tmp1]; a[tmp1]=tmp2; } for (var i=0;i<=9;i++){ document.write(a[i]+" "); } </script>
- haruka47
- ベストアンサー率50% (75/150)
phpが使えるサーバであれば、これはいかがでしょうか?
お礼
早速のご回答ありがとうございます! PHPは使用できるのですが、今回はjavascriptでお願いします・・・。 わがまま言ってすみません。
補足
補足です。 ひとつの画像に設定するリンクは、必ず一意です。 また、私が一番わからないのは、複数のものからランダムに「3つ」選ぶ、というところ。ひとつ、ならわかるんですが・・・。