我有一个JSON文件,其中存储了图片网址数组。我想轮流浏览这些链接,每隔4秒钟更改div的背景。

我可以轻松访问JSON文件或更改div的背景。但是,我似乎无法弄清楚在显示每张图片之后如何在数组的开头重新启动。

我应该如何解决这个问题?

$.getJSON(json, function (data) {
    var arr = $.map(data, function (el) { return el; })
      , i = 0;

    var changeObj = function() {
        i++;
        var url = 'url("' + arr[i].url + '")';
        $this.css({
            backgroundImage: url
        });
    };

    setInterval(changeObj, 4000);
});


这是demo

最佳答案

假设您已经将JSON解析为称为myPictureArray的URL数组,并且编写了名为swapInNewPicture的函数,该函数将图像的URL作为其参数。 (我不会为您编写这些功能。)

var rotatePictures = function (arr) {
    var length = arr.length
      , i = 0;
    setInterval(function () {
        i = (i + 1) % length;
        swapInNewPicture(arr[i]);
    }, 4000)
}


现在,您要做的就是在解析完rotatePictures(myPictureArray)之后调用JSON

关于javascript - 如何重新开始循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29996885/

10-14 10:15
查看更多