人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

よろしくお願いします。

●質問者: y0sh1yuk1
●カテゴリ:コンピュータ
✍キーワード:GIF JavaScript エラー スクリプト ファイル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● aki73ix
●40ポイント

http://nifberry.727.net/test/hatena128/hatena153.htm

参照ページで回答したものですが、そのままコピーすると¥が全角になっていたのでエラーになります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>

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ