1

我在Supersized中设置了随机的幻灯片顺序,但只有背景图像是随机的,拇指保持相同的顺序。

这是随机图像幻灯片的代码部分(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 中的 random 选项,而是定义了一个数组并对其进行排序。

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

我找到了一种方法,有点……</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 回答
0

考虑到文档提到random只影响幻灯片,似乎手动随机化列表,或者以其他方式重新排序到几乎任何其他您需要的列表确实是最好的方法。

于 2012-07-06T12:21:19.303 回答