这样可行,但是如果数组很大,那么烦人的就是放置所有键$arr[0]
,$arr[1]
等等。
$arr = shuffleArray(photos);
$.slideshow('slideshow', {
backgrounds: [{
src: $arr[0]
}, {
src: $arr[1]
}
]
})
所以,我需要这样的东西,但有一些错误,因为幻灯片停止工作,JS控制台是空的。
function slideshow() {
$arr = shuffleArray(photos);
$.slideshow('slideshow', {
backgrounds: [
$.each($arr, function (key, value) {
{
src: value
}
})
]
})
};
答案 0 :(得分:3)
backgrounds: [
$.each($arr, function (key, value) {
{
src: value
}
})
]
需要一个对象数组
所以你需要将它包装在一个以该格式返回值的函数中。
$arr = shuffleArray(photos);
$.slideshow('slideshow', {
backgrounds: (function () {
var temp = [];
$.each($arr, function (key, value) {
temp.push({
src: value
});
});
return temp;
})()
})
<强> Check Demo Fiddle 强>
答案 1 :(得分:1)
您可以使用$.map()将数组从一种格式转换为另一种格式
$arr = shuffleArray(photos);
var $srcs = $.map($arr, function(val, index){
return {
src: val
}
})
$.slideshow('slideshow', {
backgrounds: $srcs
})