0

使用しているスライドショーのランダム関数を削除しようとしています。iRnd変数は値をローダーに渡します。私は使用しようとしましfor (i=0; i<= aImages.lenght, i++) {iRnd=i}たが、それは仕事を成し遂げません。ランダムを取り除き、配列内の順序で画像を1つずつ取得したいだけです。

これが私のコードです:

function LoadImages()
{

    /* Select a random image number and make sure this is not equal to the previous image */
    while(iPrev == iRnd)
    {
        iRnd = Math.floor(Math.random()*aImages.length);
    }

    /* Show the selected image */
    LoadImage(iRnd);

    iPrev = iRnd;

};
4

1 に答える 1

1

おそらく、最後に到達したときにラップアラウンドするのに役立つモジュラス演算子(%)を探しています。これはあなたのために働くはずです:

function LoadImages(){

    iRnd = (iRnd + 1) % aImages.length;

    /* Show the selected image */
    LoadImage(iRnd);

};

ただし、コードにこれほど多くのグローバル変数を含めることは避けてください(私は、両方ともグローバルであると想定しています)aImagesiRnd

于 2012-05-31T21:43:58.623 に答える