1

これが取引です。バックストレッチと呼ばれるプラグインを使用して、背景画像を全画面表示し、そのスライドショーを作成しています。

これは私が持っているものです(プラグインのウェブサイト)。

今、画像を毎回ランダムにしたい。3 つの画像があるとします。次のようになります。

2, 3, 1
3, 1, 2
1, 2, 3
1, 3, 2

行では、これは次のようになります。2, 3, 1, 3, 1, 2, 1, 2, 3, 1, 3, 2

注: 画像は次のように繰り返さないようにする必要があります。2, 3, 1, 1, 2, 3

誰?

4

1 に答える 1

5

配列からランダムなインデックスを提供するために使用math.Random();します。これを while ループ内に配置し、別の数値が得られるまで実行します。すなわち。

oldIndex = index;
while (oldIndex == index) {
   index = Math.floor((Math.random()*images.length));
   }

編集: ランダムな画像から始めるには、backstretch を呼び出す前に random メソッドを使用します

index = Math.floor((Math.random()*images.length));
$.backstretch(images[index], {
    speed: 500
});

あなたのフィドル

編集2:

OP 要件 (コメントで) と話し合った後、完全にランダムではないスライダーが必要でした。インデックスを再度選択する前に、すべてのインデックスが使用されていることを確認し、空のときにリセットする必要がありました。

インデックスのリストを別の配列に入力することにより、空になるまで使用するときに配列から削除してから再入力できます。また、リセットしても画像が繰り返されないように、以前のインデックスを維持します。最終結果はこちら

于 2012-06-13T09:48:37.140 に答える