我有一个简单的图像滑块,对于JS来说我几乎是新手。 这是滑块的HTML。
<a class="thumb-box scroll-to-section" href="#people">
<img src="someimg" class="peoples-img" style="display: none;">
<img src="someimg2" class="peoples-img" style="display: none;">
<img src="someimg3" class="peoples-img" style="display: none;">
<img src="someimg4" class="peoples-img" style="display: none;">
<h3 class="thumb-box__title">People</h3>
</a>
这是JS代码
var myIndex = 0; 圆盘传送带();
function carousel() {
var i;
var x = document.getElementsByClassName("peoples-img");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
myIndex++;
if (myIndex > x.length) {myIndex = 1}
x[myIndex-1].style.display = "block";
setTimeout(carousel, 2000); // Change image every 2 seconds
}
滑块工作正常img img,但我想制作滑块来随机播放图像。每次我重新加载页面打开不同的图像,任何建议?
答案 0 :(得分:1)
Here您可以找到有关如何生成随机数的说明。使用此数字可访问阵列中的随机元素。这样每次你都会显示随机图像。
答案 1 :(得分:1)
试试这个
var x = document.getElementsByClassName("peoples-img");
var randomIndex = new Array();
function shuffle() {
for(i=0; i<x.length; i++){
randomIndex.push(i);
}
//http://stackoverflow.com/a/18650169/1582080
randomIndex.sort(function() {
return .5-Math.random();
});
}
function carousel() {
var i;
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
myIndex++;
if (myIndex > x.length) {myIndex = 1}
x[randomIndex[myIndex-1]].style.display = "block";
setTimeout(carousel, 2000); // Change image every 2 seconds
}
var myIndex = Math.floor(Math.random()*x.length);
shuffle();
carousel();