【问题标题】:Selecting a random image from a flickr set and appending it to a div从 flickr 集中选择随机图像并将其附加到 div
【发布时间】:2010-02-18 14:13:00
【问题描述】:

我遇到了一些问题,希望能得到一些帮助。我正在尝试从 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。任何关于我被误导的地方的帮助都将非常感激。

【问题讨论】:

    标签: javascript jquery


    【解决方案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 +' />';
    

    【讨论】:

    • 必须指定我正在从 randomImange 的照片集中寻找一张照片,但这很好用。干杯。为清晰起见进行了编辑。
    • 酷。如果有帮助,您可以单击我的答案旁边的向上箭头吗?谢谢!
    • 是的,你明白了。我是新来的。编辑 - 似乎我需要 15 声望才能投票。一旦我有了声誉,我会回来处理这个问题。
    猜你喜欢
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 2018-09-11
    • 2018-05-22
    • 2015-03-30
    • 1970-01-01
    相关资源
    最近更新 更多