※ ChatGPTを利用し、要約された質問です(原文:ランダム表示とリンクの貼り付け)
ランダム表示とリンクの貼り付け
このQ&Aのポイント
数百の画像をランダムに表示させる方法と、画像にリンクを貼り付ける方法についての質問です。
現在は画像をランダムに表示することはできていますが、画像にリンクを貼りたいと思っています。
また、ランダムにする画像を複数並べたいのですが、現在は1つしかランダムにならず、他の画像は表示されません。
数百の画像を、ランダムにダブらないで表示させるのはできたのですが
(画像名は整理しやすい0000.jpg~0100.jpgとしました)
<script type="text/javascript"><!--
x=Math.floor(Math.random()*100);
x=new String(x);
if (x.length==1){ x="000"+x;}
else if (x.length==2){ x="00"+x;}
else if (x.length==3){ x="0"+x;}
RndImg= new Image();
RndImg.src="images/image"+x+".jpg";
NoMem[n]=x;}
//↑これって同じ画像が重複しないように。の意味でいいんですか?
function ImgDisp(){
document.images["imgs0"].src=RndImg.src;
}
window.onload=ImgDisp;
//--></script>
<body>
<img src="*" name="imgs0">
</body>
一つ一つの画像にそれぞれリンクを貼りたいと思います。
どこに何を入れたらいいでしょうか?
それと
ランダムにする画像を3つくらい並べたいのですが
<img src="*" name="imgs0">
だと1つしかランダムにならずに、
あとの2つは画像が表示されません。
何を変えたらいいでしょうか?
よろしくお願いします。
お礼
同時に3つのランダム画像表示はできました! ありがとうございました。 お願いしてばかりで申し訳ないのですが ひとつひとつのリンクはどうすればいいのでしょうか?
補足
ありがとうございます~ 参考元よく読みました。すみません。 //以下、乱数生成の関数 function RndmNo(n){ x=Math.floor(Math.random()*RndImg.length); if (NoMem.length){ for (j=0; j<NoMem.length; j++){ if (NoMem[j]==x){ RndmNo();} } //上記ループで重複する番号がないかチェック。 重複していればこの関数を再起 } NoMem[n]=x;//生成した乱数を配列に格納 } for (k=0; k<3; k++){//「k<3」の3は画面上に表示する画像の枚数を指定 RndmNo(k); } function ImgDisp(){ document.images["imgs0"].src=RndImg[NoMem[0]].src; document.images["imgs1"].src=RndImg[NoMem[1]].src; document.images["imgs2"].src=RndImg[NoMem[2]].src; } ここのことですよね。 やってみます。