来自开始滑块js的随机图片

时间:2017-03-24 10:55:18

标签: javascript jquery html css

我有一个简单的图像滑块,对于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,但我想制作滑块来随机播放图像。每次我重新加载页面打开不同的图像,任何建议?

2 个答案:

答案 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();