JavaScriptを用いて、画像をランダムに表示させる方法について質問です。


http://www.hatena.ne.jp/1120451311
を参照しましたが、エラーが出てしまうので質問させてください。

6つのgifファイル(banner1.gif〜banner6.gif)にそれぞれリンクを張り、縦に6つの画像が重複されずにランダムに配置されるようなスクリプトを作りたいのです。

1つの画像をランダムに入れ替わりで表示するスクリプトはいくつか検索でヒットしましたが、重複させずに複数の画像を並べる方法がありましたらご教示ください。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:aki73ix No.1

回答回数5224ベストアンサー獲得回数27

ポイント40pt

参照ページで回答したものですが、そのままコピーすると¥が全角になっていたのでエラーになりますm(..)m すみません


複数の画像を並べ替えるなら配列テーブルを用意してフラグを埋める方法がいいと思います

ソースは以下の通りになります


<HTML>

<HEAD>

<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; CHARSET=Shift_JIS">

</HEAD>

<BODY>

<script language="JavaScript">

<!--

  var ARR=new Array();

 //イメージの数

  var imgcount=6;

 //イメージへのリンク

  var LINK= new Array('link1.htm','link2.htm','link3.htm','link4.htm','link5.htm','link6.htm');


 //初期化

  for(i=0;i<imgcount;i++){

     ARR[i]=0;

  }

  for(i=0;i<imgcount;i++){

    j=imgcount-i;

    a=Math.floor(Math.random()*j);

 //何番目の画像にするか計算

    for(k=0,b=-1;b<0;k++){

      if(ARR[k]==0)a--;

      if(a<0)b=k;

    }

 //配列に結果を入れる

    ARR[b]=i+1; 

  }

  for(i=0;i<imgcount;i++){

 //表示

    document.write('<A HREF=¥"'+LINK[ARR[i]-1]+'¥"><IMG SRC=¥"banner'+ARR[i]+'.gif¥" ALT=¥"'+ARR[i]+'¥"></A><BR>');

  }

// -->

</script>

</BODY>

</HTML>

id:y0sh1yuk1

ありがとうございます!さっそく明日試してみます

2005/10/06 21:45:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません