• 締切済み

リンク付き画像をランダムで。

色々試してみたのですが、どうも上手くいきません。 どなたかアドバイス頂けたらと、思います。 <TD>ごとにランダムでリンク付き画像を重複せず表示したいのですが、 どの様にしたら良いのでしょうか? ソースで書くと、 <TABLE> <TR> <TD></TD> <TD></TD> <TD></TD> <TD></TD> </TR> <TR> <TD></TD> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE> で、8箇所ある各々の<TD>の中に、8つの違うリンク付き画像を表示させたいと思っております。 宜しくお願いします。

みんなの回答

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

こんな感じですかね。 (tableタグのところのみ書いています) <table> <tr> <script> var img = new Array(); img[0] = "img1.jpg"; img[1] = "img2.jpg"; img[2] = "img3.jpg"; img[3] = "img4.jpg"; img[4] = "img5.jpg"; img[5] = "img6.jpg"; img[6] = "img7.jpg"; img[7] = "img8.jpg"; img[8] = "img9.jpg"; img[9] = "img10.jpg"; var rnd = new Array( img.length ); for( i = 0; i < img.length; i++ ) rnd[i] = i; var max = 8; for( i = 0; i < 8; i++ ){ no = Math.floor( Math.random() * max ); document.write( '<td><a href="' + img[rnd[no]] + '"><img src="' + img[rnd[no]] + '"></a></td>' ); if( i == 3 ){ document.write( '</tr><tr>' ); } for( j = no; j < img.length - 1; j++ ){ rnd[j] = rnd[j + 1]; } max--; } </script> </tr> </table> 画像数は適当に10個用意しましたが、必要に応じて増減させてください。

関連するQ&A

  • ランダム表示の画像とリンクのづれを修正したい

    以前こちらで下記のようなjavascriptのリンク付画像のランダム表示方法を教えて頂きました。 画像は全部で20枚以上、表示枚数は8枚、総画像枚数分別々のリンク先を指定します。画像枚数分のhtmlページが存在し、全てのページにテンプレートで同じスクリプトが組み込んであり、それぞれのページに8枚の違う画像が表示され、そこから好きな画像をクリックすることで指定したリンクページにジャンプさせたいのです。 が…確認すると画像は8枚づつランダムに表示はされるのですが、画像とその画像に指定したリンクがづれる箇所があります。全部ではないのですが…どこで画像とリンクがづれているのかいつも決まっているわけでもなく全くわかりません。 Images.splice(k,1);のところだと思いイジってみたものの今度は画像の表示8枚の中で、同じ画像が 表示されてしまったりと、解決できませんでした。 どのように直せば画像をランダムに表示させてリンク先のづれを無くせるのか、よろしければどなたか教えて頂けると大変光栄です。 <head> <script type="text/javascript"> var imgcount=23; var viewcount=8; var Images = new Array(); var Link = new Array(); Link[0]="o00.htm"; Link[1]="o01.htm"; Link[2]="o02.htm"; ・・・・・・ Images[0] = './img/0.jpg'; Images[1] = './img/01.jpg'; Images[2] = './img/02.jpg'; ・・・・・・ function changeImage(){ for(i=0;i<viewcount;i++){ k = parseInt(Math.random() * Images.length); document.getElementById("a_"+i).innerHTML='<a href="'+Link[k]+'" target="_self"> <img src="'+Images[k]+'"></a>'; Images.splice(k,1); } } </script> </head> <body onload="changeImage()"> <table> <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> よろしくお願いいたします。

  • PHPで変数を重複しないようにランダムで配置したい

    表題のとおりなのですが、書きソースを見てもらえればわかりやすいかと思いますので、まずはご一読頂けると幸いです。 -------------------------------------------------------------------------------- <?php $rank[1] = "<td>100個</td>"; $rank[2] = "<td>200匹</td>"; $rank[3] = "<td>300万</td>"; $rank[4] = "<td>400億</td>"; $rank[5] = "<td>500台</td>"; ?> <table>  <tr>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>  </tr>  <tr>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>  </tr> </table> -------------------------------------------------------------------------------- このような形で、 [] の中の数字を重複せずにランダムに入力されるようにしたいです。 目的としてはテーブルの中の要素をページを更新するたびにランダムに並べ替えるためです。 私が思いついた方法は上記のようなものが一番シンプルで良い気がしたのですが、ほかにスマートな方法がありましたら、是非教えていただきたいです。 サンプルでは変数の中にちょっとしたものしか入っていませんが、実際にはもっと長いものになります。 どうかよろしくお願い致します。

    • ベストアンサー
    • PHP
  • リンク付バナーのランダム表示のづれを修正したい

    以前こちらで、以下のようなそれぞれの画像にリンクを付けた画像をランダム表示させる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>

  • セルの背景画像ランダムチェンジがうまくいきません!

    過去の質問などを参考にセルの背景画像のランダムチェンジのソースを作りましたがうまく表示されません!何かアドバイスがあれば是非お願いします。 <head> <script language="javascript"> var BGimg=new Array(); BGimg[0]="image/01.gif"; BGimg[1]="image/02.gif"; var img_pcs=BGimg.length;//画像の数 var rdm_num=Math.floor(Math.random()*img_pcs);//乱数 function chg_BGimg(){ document.getElementById("changeIMG").style.backgroundImage="url('"+BGimg[rdm_num]+"')"; } </script> </head> <body onload="chg_BGimg();"> <table bgcolor="#333333"> <tr> <td id="changeIMG" style="background-image:url('image/first.gif');">このセルの背景が変わります</td> <td>blank</td> <tr> </table> </body> (実際のテーブルは列11×行9です。) 以上がソースです。どうも初期設定のfirst.gifが一瞬だけ表示されて、あとはテーブルの背景色になり、何も画像が表示されてず、「×」マーク(画像が見つからなかった場合にでるアイコン)もないのです。 このソースの改良点または、全く違う方法でも結構です、何かアドバイスがあれば是非お願いします。よろしくお願いします!

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

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

  • 今、HTMLメルマガを作成し、テスト配信等々をいろいろと試しているので

    今、HTMLメルマガを作成し、テスト配信等々をいろいろと試しているのですが、どうもoutlook2007だけエラーが発生します。どなたか解決策が分かる方いらっしゃいましたら、ご教授願えないでしょうか? ■発生するエラー HTML内の一部のテキストリンクがクリックできない。 画像に貼ったリンクはクリックできる。 全て同じレイアウトで記載しているため、エラーが発生していない箇所(正常にクリックできる)のHTMLソースをエラーが発生しているHTMLのソースに上書きしてもテキストリンクはクリック出来ない。 ■エラー発生の原因 いろいろと調べていくと、HTMLソースは全て、TABLEコーディングを使用しており、TABLEの中にTABLEを記載しているような状態です。その、階層が深くないとテキストリンクは正常にクリックでき、階層が深いとクリックできなくなります。 階層を浅くすると正常になるのですが、背景色などの関係で、これ以上、浅くは出来ない状態です。 ------------------------------------------ (例)階層が浅い例 <table> <tr> <td><table> <tr> <td>あああ</td> </tr> </table></td> </tr> </table> (例)階層が深い例 <table> <tr> <td><table> <tr> <td><table> <tr> <td><table> <tr> <td><table> <tr> <td>あああ</td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> </table> ------------------------------------------ 以上が発生をしているエラーですが、どなたか、階層が深い状態でも 全てのテキストリンクがクリックできる方法はないでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • リンクをクリックして画像を切り替えるには?

    下記のようなソースなのですが、2枚目の画像に切り替わらず、表示されません。 何が悪いのでしょう? <header内>-------------------------------------> <SCRIPT type="text/javascript"> <!-- function showimg1(){ document.area.src = "/jp/shop/i/popup_usbcalc/cg4.jpg"; } function showimg2(){ document.area.src = "/jp/shop/i/popup_usbcalc/cg4_zoom.jpg"; } //--> </SCRIPT> -------------------------------------> <img src="cg4.jpg" alt="" name="area" /><br /> <table> <tbody> <tr> <td>[ <a href="javascript:void()" onclick="showimg1()">リンク1</a> ]</td> <td>[ <a href="javascript:void()" onclick="showimg2()">リンク2</a> ]</td> </tr> </tbody> </table>

  • ランダム表示画像にリンクマップを貼れますか?

    ページの上部に、ページが更新するたびに違う画像が 表示されるようにJavaScriptで記述をしているのですが、 その画像の数箇所に、別々のURLを貼りたいのです。 ランダム表示ではない通常の画像の場合、 それぞれの形に合わせてエリアを指定し、 リンクマップをすればいいと思うのですが、 ランダム表示をしている画像に対しては どうすれば良いのでしょうか? また、リンクを貼る部分をオンマウスオーバーするようにも したいのです。 このような事は可能なのでしょうか?

  • <table>、もしくは<iframe>内でのランダム表示は?

    ご質問させてください。 いろいろ調べたのですが、 画像やテキストのランダム表示については、結構あるのですが ページ内にあるひとつの<table>(もしくは<td>)、または<iframe>の中(<iframe>に、入るソースはhtml形式です。)に読み込み毎にランダム表示するスクリプトがわかりません。 そんな素敵なjavascriptがあったら教えてください。また、私、htmlを少し理解している程度なので、やさしくご指南いただけたらと思います。なお、IE、NN等のブラウザ環境はとりあえずおいてのお話でいただければと思います。 よろしくお願いいたします。 たとえば、単純にランダム画像を入れるスクリプトの 画像(img)をhtml(iframeの場合)に変更したらいけるのでしょうか?

  • 画像+リンク&文字のランダム表示について

    画像+リンク+文字のランダム表示について 復数ある画像、リンク、文字のなかからランダムで数個(かぶらないように)表示させたいのです。 それもテーブルタグの中に。 (画像Aには必ずリンクAと文字Aがせっとになるようにです) 初心者なのでどのようにしたら良いのか、またこんな事ができるのかどうかもわかりませんが・・・ おわかりになる方、詳しく教えてください。 一応HTMLでHPをつくっているので、このように書いたら良いよ・・・という見本のようなモノを作って頂けると幸いです。 宜しくお願いします ↓の画像のように3パターンの表示を考えています。 解りづらいかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう