使用backstretch插件的随机背景图像幻灯片

时间:2012-06-13 09:35:36

标签: jquery

这是合约。我正在使用一个名为backstretch的插件,全屏显示我的背景图像并制作幻灯片。

这就是我for nowwebsite of the plugin)。

现在,我希望图像每次都是随机的。假设我有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

任何?

1 个答案:

答案 0 :(得分:3)

使用math.Random();从数组中提供一个随机索引,将其置于while循环中,直到获得不同的数字为止。即

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

编辑: 从随机图像开始,在调用backstretch之前使用随机方法

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

您的fiddle

编辑2:

在讨论OP要求(在评论中)后,他们需要一个不完全随机的滑块。需要确保在再次选择任何索引之前使用所有索引,然后在清空时重置。

通过将索引列表填充到一个单独的数组中,我们可以在使用它们时将其从数组中删除,直到为空,然后重新填充,我们还保留前一个索引,以便即使重置图像也不会重复。最终结果here