目前我正在使用这个jquery代码,我从这里的另一篇文章中删除了一些div进出
<script>
$(document).ready(function () {
var divs = $('div[id^="feature-"]').hide(),
i = 0;
(function cycle() {
divs.eq(i).fadeIn(400)
.delay(5000)
.fadeOut(400, cycle);
i = ++i % divs.length;
})();
});
</script>
循环浏览一些div,让它们淡入淡出并以一种随意的幻灯片形式淡出。我想在页面加载时随机化显示的顺序,例如,它现在显示feature-1,然后是feature-2,然后是feature-3。如何让它随机化该顺序,例如有时onload会显示feature-3,feature-1,feature-2,有时它会显示feature-2,feature-1,feature-3等等。我试过创建一个数组然后随机化1到10之间的数字并将它们放在索引0-9中,但我尝试后根本无法显示它。这是一个展示它正在做什么的小事。
答案 0 :(得分:1)
使用Math.Random()
http://www.w3schools.com/jsref/jsref_random.asp
实施例: 随机数从1到6
$(document).ready(function () {
var divs = $('div[id^="feature-"]').hide(),
i = 0,
lastIndex=-1;
(function cycle() {
do{
i = Math.floor((Math.random()*6));
}while(i==lastIndex);
divs.eq(i).fadeIn(400)
.delay(5000)
.fadeOut(400, cycle);
lastIndex=i;
})();
});
答案 1 :(得分:1)
$(document).ready(function () {
var divs = $('div[id^="feature-"]').hide(), last_index = false;
function get_random_index(max) {
return Math.floor(Math.random() * max);
}
function cycle() {
var i;
do {
i = get_random_index(divs.length);
} while (i === last_index);
last_index = i;
divs.eq(i).fadeIn(400).delay(5000).fadeOut(400, cycle);
}
cycle();
});