- 締切済み
リンク付き画像をランダムで。
色々試してみたのですが、どうも上手くいきません。 どなたかアドバイス頂けたらと、思います。 <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つの違うリンク付き画像を表示させたいと思っております。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ttyp03
- ベストアンサー率28% (277/960)
こんな感じですかね。 (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個用意しましたが、必要に応じて増減させてください。