jQuery中基于时间的事件显示随机图像

时间:2018-02-15 18:54:23

标签: jquery events

我尝试执行图像的动画(3秒动画),而不是像点击事件那样的用户事件,然后在另外3秒内我想要更改图像。

所以基本上我需要遍历图像数组,并且每3秒替换一次图像而不会触发任何事件。

有什么建议吗?我想到了setInterval(3000)但是它是如何工作的......

    var images = [
    "assets/images/s1-person1.svg",
    "assets/images/s1-person2.svg",
    "assets/images/s1-person3.svg",
    "assets/images/s1-person4.svg",
    "assets/images/s1-person5.svg",
    "assets/images/s1-person6.svg",
    "assets/images/s1-person7.svg",
    "assets/images/s1-person8.svg"
];

function change() {
    var i;
    for (i == 0; i <= images.length; i++) {
        var random = Math.floor( Math.random() * images.length);
        $(".s1-person-1").attr('src', images[random]);
    }
}
var intervalID = window.setInterval(change, 3000);

1 个答案:

答案 0 :(得分:1)

感谢@huangism和@DatGeoudon指出我正确的方向。

    var images = [
    "assets/images/s1-person1.svg",
    "assets/images/s1-person2.svg",
    "assets/images/s1-person3.svg",
    "assets/images/s1-person4.svg",
    "assets/images/s1-person5.svg",
    "assets/images/s1-person6.svg",
    "assets/images/s1-person7.svg",
    "assets/images/s1-person8.svg"
];

function change() {
    var i;
    for (i = 0; i <= images.length; i++) {
        var random = Math.floor( Math.random() * images.length);
        $(".s1-person-1").attr('src', images[random]);
    }
}
var intervalID = window.setInterval(change, 3000);