从flickr集中选择随机图像并将其附加到div

时间:2010-02-18 02:48:00

标签: javascript jquery

我遇到了一些问题,并希望得到一些帮助。我试图从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。任何关于我被误导的帮助都会受到超级赞赏。

1 个答案:

答案 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 +' />';