1

スーパーサイズでスライドのランダムな順序を設定しましたが、背景画像のみがランダムであり、親指は同じ順序のままです。

これは、画像スライドをランダム化するコード(supersized.3.2.7.js)の一部です。

// Shuffle slide order if needed
if (base.options.random){
    arr = base.options.slides;
    for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);   // Fisher-Yates shuffle algorithm (jsfromhell.com/array/shuffle)
    base.options.slides = arr;
}

そして、それが私がスライド画像を呼び出して親指を設定する方法です:

jQuery(function($){
    $.supersized({
        random: 1,
        thumb_links: 1,
        slides: [
                    { image: "slide_1.jpg", thumb: "thumb_1.jpg"},
                    { image: "slide_2.jpg", thumb: "thumb_2.jpg"},
                    { image: "slide_3.jpg", thumb: "thumb_3.jpg"},
                    { image: "slide_4.jpg", thumb: "thumb_4.jpg"},
                    { image: "slide_5.jpg", thumb: "thumb_5.jpg"},
                    { image: "slide_6.jpg", thumb: "thumb_6.jpg"}
                ]
    });
});

背景画像と同じランダムな順序で親指を作成するにはどうすればよいですか?

アップデート

私はそれを自分で理解しています。Supersizedでランダムオプションを使用する代わりに、配列を定義して並べ替えます。

var slidesArray = [
    { image: "slide_1.jpg", thumb: "thumb_1.jpg"},
    { image: "slide_2.jpg", thumb: "thumb_2.jpg"},
    { image: "slide_3.jpg", thumb: "thumb_3.jpg"},
    { image: "slide_4.jpg", thumb: "thumb_4.jpg"},
    { image: "slide_5.jpg", thumb: "thumb_5.jpg"},
    { image: "slide_6.jpg", thumb: "thumb_6.jpg"}
]

そして、私はプラグインを呼び出します:

$.supersized({
    random: 0,
    thumb_links: 1,
    slides: slidesArray.sort(function() {return 0.5 - Math.random()})
});

うまく機能しますが、それが最善の方法かどうかはわかりません。助言がありますか?

4

2 に答える 2

0

スライドにのみ影響するドキュメントに記載されていることを考えると、randomリストを手動でランダム化するか、その他の必要なものに並べ替えることが実際に最善の方法のようです。

于 2012-07-06T12:21:19.303 に答える
0

ある種の方法を見つけました…</p>

var slidesArray = [
    { image: "slide_1.jpg", thumb: "thumb_1.jpg"},
    { image: "slide_2.jpg", thumb: "thumb_2.jpg"},
    { image: "slide_3.jpg", thumb: "thumb_3.jpg"}
]

そして…</p>

$.supersized({
    random: 0,
    thumb_links: 1,
    slides: slidesArray.sort(function() {return 0.5 - Math.random()})
});

私はjavascriptを初めて使用します…それをより良くする方法について何かアイデアはありますか?

于 2012-08-09T15:34:02.920 に答える