jquery - Tumblr API jQuery 随机图像

标签 jquery random tumblr

我想要一个随机图像作为 div 元素中的背景。
我使用 tumblr API 从 tumblr 获取图像。
以下代码有效,但仅获取找到的最后一个图像,如何从数组中获取随机图像?

Working Example: jsfiddle.net/StevendeJong/9pzhh9z5/2

$(document).ready(function (){
    var link = "http://api.tumblr.com/v2/blog/www.unsplash.com/posts?";
    $.ajax({
        type: "GET",
        url : link,
        dataType: "jsonp",
        data: {
            api_key: "ClAjag2DrKwJhbFY1aAAwqBUxEFBEOBwc7AzMwXlcaNlp3gZte"
        }
    }).done(function( data ) {

        $.each(data.response.posts, function(){

            var _photos = this.photos;

            $.each(_photos, function(){
                $('.background').css({
                    "background-image": "url(" + this.original_size.url + ")"
                });
            });
        });
    });
});

最佳答案

请尝试这个:

当您迭代每个列表时,您将获得最终结果。

查看更新的 fiddle :

http://jsfiddle.net/9pzhh9z5/3/

$(document).ready(function () {
    var link = "http://api.tumblr.com/v2/blog/www.unsplash.com/posts?";
    $.ajax({
        type: "GET",
        url: link,
        dataType: "jsonp",
        data: {
            api_key: "ClAjag2DrKwJhbFY1aAAwqBUxEFBEOBwc7AzMwXlcaNlp3gZte"
        }
    }).done(function (data) {

        var url = $.rand(data.response.posts);
        url = url.photos[0].original_size.url;
        console.log(url);
        console.log($.rand(data.response.posts));
        $('DIV.background').css('background-image', 'url(' + url + ')');;

        });
    });

我正在使用此函数来随机化数组:

//random function. 
(function ($) {
            $.rand = function (arg) {
                if ($.isArray(arg)) {
                    return arg[$.rand(arg.length)];
                } else if (typeof arg == "number") {
                    return Math.floor(Math.random() * arg);
                }
            };
        })(jQuery);

更新 要获取 1280 尺寸(如果可用),您可以添加此检查:

 var url = $.rand(data.response.posts);
 var alt = url.photos[0].alt_sizes[0];
 url = alt.width == 1280 ? alt.url : url.photos[0].original_size.url;

更新的 fiddle : http://jsfiddle.net/9pzhh9z5/5/

关于jquery - Tumblr API jQuery 随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25387342/

相关文章:

jquery - jQuery 中的动画粘性导航问题

jquery - 在悬停和悬停时显示/隐藏 div

c# - 在平面 map 上随机生成方 block

c - rand() 的实现

css - 我的 Tumblr 博客上的此页面不安全(损坏的 HTTPS)

css - 对width参数: Website (via tumblr) is not on 100% on mobile devices的提问

jQuery:如何 append $(this)

javascript - 组件更新但新 Prop 不会呈现到日历事件中

Python 抛硬币

javascript - 使用 JSON/JSONP 访问 tumblr 帖子