我有一个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/