0

ハイパーリンク付きのランダムな画像を表示するために使用しているこのスクリプトがあります。できれば同じ画像を2回繰り返さずに、一度に5つのランダムな画像を表示するように適応させる方法を誰か教えてもらえますか?

ありがとう

    <script language="JavaScript">
<!--

/*
Random Image Link Script- By JavaScript Kit(http://www.javascriptkit.com)
Over 200+ free JavaScripts here!
Updated: 00/04/25
*/

function random_imglink(){
var myimages=new Array()
//specify random images below. You can have as many as you wish
myimages[1]="data/adverts/ad1.png"
myimages[2]="data/adverts/ad2.png"
myimages[3]="data/adverts/ad3.png"
myimages[4]="data/adverts/ad4.png"
myimages[5]="data/adverts/ad5.png"


//specify corresponding links below
var imagelinks=new Array()
imagelinks[1]="http://www.javascriptkit.com"
imagelinks[2]="http://www.netscape.com"
imagelinks[3]="http://www.microsoft.com"
imagelinks[4]="http://www.dynamicdrive.com"
imagelinks[5]="http://www.freewarejava.com"


var ry=Math.floor(Math.random()*myimages.length)
if (ry==0)
ry=1
document.write('<a href='+'"'+imagelinks[ry]+'"'+'><img src="'+myimages[ry]+'" border=0></a>')
}
random_imglink()
//-->
</script>
4

3 に答える 3

0

代わりに、ランダムにチェックし、すでに画像を選択している場合は、選択した画像を配列の最後に移動し、ランダムの変数を1つ減らすことができます。例:

function random_imglink(select){
    if (select > 5 ) {
      // make it fail              ...
    }

    //specify random images below. You can have as many as you wish
    var myimages = new Array();
    myimages[0]="data/adverts/ad1.png"
    myimages[1]="data/adverts/ad2.png"
    myimages[2]="data/adverts/ad3.png"
    myimages[3]="data/adverts/ad4.png"
    myimages[4]="data/adverts/ad5.png"

    //specify corresponding links below
    var imagelinks=new Array()
    imagelinks[0]="http://www.javascriptkit.com"
    imagelinks[1]="http://www.netscape.com"
    imagelinks[2]="http://www.microsoft.com"
    imagelinks[3]="http://www.dynamicdrive.com"
    imagelinks[4]="http://www.freewarejava.com"


    var size = myimages.length

    for (var i=0;i<select;i++) {
        var index = Math.floor(Math.random() * size);                 


        document.write('<a href='+'"'+imagelinks[index]+'"'+'><img src="'+myimages[index]+'" border=0></a>');

        var tmp = myimages[index]; 
        myimages[index] = myimages[size - 1];
        myimages[size - 1] = tmp;

        tmp = imagelinks[index]; 
        imagelinks[index] = imagelinks[size - 1];
        imagelinks[size - 1] = tmp;  

        --size;
    }
}
random_imglink(3);
于 2012-11-01T21:22:12.053 に答える
0

関数を作成せずに、1行のコードで次のようなものになる可能性があります。

<img src="https://www.example.com/images/image-<?php echo rand(1,7); ?>.jpg">

これを機能させるには、画像に名前を付けます: image-1.jpg、image-2.jpg、image-3.jpg....image-7.jpg、

ページが読み込まれると、PHP の rand() が乱数 (この場合は 1 から 7 までの数字) をエコーし​​、URL を完成させ、対応する画像を表示します。ソース: https://jonbellah.com/load-random-images-with-php/

于 2016-06-17T13:34:20.277 に答える