我遇到了一些问题,并希望得到一些帮助。我试图从flickr集中选择一个随机图像并将其附加到div以用作背景图像。这是功能:
$.getJSON("http://***", function (data){
var htmlString = "";
$.each(data.photoset.photo, function(i, item){
var bkg = data.photoset.photo[i];
var randomBkg = Math.floor(Math.random() * bkg.length);
htmlString += '<img src='+ randomBkg.url_o +' />';
return i < 0;
});
$('#bg').append(htmlString);
});
如果我用bkg.url_o替换randomBkg.url_o,它只返回集合中的第一个图像。使用它,因为我上面附加了一个图像标签与“未定义”作为img src。任何关于我被误导的帮助都会受到超级赞赏。
答案 0 :(得分:1)
图片代码现在是“未定义的”,因为Math.floor
会返回Number
,而Numbers则没有url_o
属性。如果您只是想从集合中挑选出一个图像,则实际上不需要使用$.each
来迭代所有项目。您应该能够执行以下操作:
var index = Math.floor(Math.random() * data.photoset.photo.length);
var randomImage = data.photoset[index];
var htmlString = = '<img src='+ randomImage.url_o +' />';