我正在使用Flexslider - http://www.woothemes.com/flexslider/我有一个滑块设置,其中有37张幻灯片(是的,我知道这很荒谬)。我需要一种方式,当页面加载时,它随机选择幻灯片1和幻灯片37之间的幻灯片,然后从那里继续顺序。
例如:
页面加载并随机选择幻灯片#17。幻灯片17之后出现的下一张幻灯片应该是18,然后是19,然后是20,依此类推。
下次加载页面时,它会随机选择另一张幻灯片。说这次它加载29.下一张幻灯片应该是30,然后是31,然后是32,等等......
到目前为止,我已经弄明白了,我知道我需要一种方法来首先让Flexslider计算当前滑块中幻灯片的数量。然后我需要取这个数字并在滑块中选择1到X#幻灯片之间的随机数。
我在Flexslider网站上找到了一些代码:
start: function(slider) {
$('.total-slides').text(slider.count);
},
我理解的是给你幻灯片的数量,但从这里我不知道如何做一个随机数传递给
startAt: 0,
选项。
这是我当前的flexslider jquery
jQuery( document ).ready( function( $ ) {
$('.flexslider').flexslider({
animation: "slide",
useCSS: false,
controlNav: false,
slideshow: false,
start: function(slider) {
$('.total-slides').text(slider.count); // This gets the number of slides in the slider
},
startAt: 0, //This should be a random number
});
});
答案 0 :(得分:3)
使用上面的代码设置变量有效,然后可以调用变量。
$(窗口).load(函数(){
var randomthis = Math.floor((Math.random()* $('.flexslider li').length )+1);
$('.flexslider').flexslider({
animation: "slide",
useCSS: false,
controlNav: false,
slideshow: false,
startAt: randomthis
});
});
答案 1 :(得分:0)
我认为你不想在start属性中使用startAt。试试这个:
$('.flexslider').flexslider({
...
startAt: function() {
var slideCount = $('.total-slides').text(slider.count);
var mySlide = Math.floor((Math.random()*slideCount)+1);
return mySlide;
}
});
我的部分原因是API docs和this randomize example。