首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ajax调用中初始化砌体

如何在ajax调用中初始化砌体
EN

Stack Overflow用户
提问于 2016-04-08 08:55:52
回答 1查看 988关注 0票数 0

我是显示facebook的帖子通过facebook的图表和使用砖石。默认砌体初始化:

代码语言:javascript
复制
$('#facebook-feed').masonry({
        itemSelector: '.grid-item',
        percentPosition: true
});

默认的facebook帖子:

代码语言:javascript
复制
$(document).ready(function() {

        var accessToken ='xxx';

        //$("#mainContainer").show();
        $.ajax({
            url: 'https://graph.facebook.com/v2.5/abc/posts?fields=full_picture,id,is_published,link,story,message,name,updated_time,description,from,source,caption,created_time,permalink_url,type,target&access_token=' + accessToken + '&limit=5',
            type: 'GET',

            success:function(result){
                $.each( result.data, function( index, value ) {
                    var link;
                    var imgSrc = '';
                    var name = '';
                    var message = '';
                    if(typeof(value.link) != "undefined" && value.link !== null) {
                            link = value.link;
                        } else {
                            link = value.permalink_url;
                        }
                        if(typeof(value.full_picture) != "undefined" && value.full_picture !== null) {
                            imgSrc = value.full_picture;
                        }
                        if(typeof(value.name) != "undefined" && value.name !== null) {
                            name = value.name;
                        }
                        if(typeof(value.message) != "undefined" && value.message !== null) {
                            message = value.message;
                        }
                    $("#facebook-feed").append(
                        '<div class="grid-item"><a href="'+value.permalink_url+'" target="_blank">'+
                            '<div class="thumbnail">'+
                            '<img src="'+imgSrc+'" alt="'+name+'" >'+
                            '<div class="caption">'+
                            '<h3>'+name+'</h3>'+
                            '<p>'+message+'</p>'+
                            '</div>'+
                            '</div>'+
                        '</a></div>'
                    );
                });
            },
            error:function() {
                $("#facebook-feed").html('Failed To Load Resource');
            }
        });
    });

现在,我有了加载更多的提要按钮,这是用来加载更多的提要基于限制。

代码语言:javascript
复制
$(document).on("click", "#load-more-feeds", function() {
        $.ajax({
            url: $("#hidden-next-feed").val(),
            type: 'GET',
            success: function(result) {
                $("#hidden-next-feed").val(result.paging.next);
                $.each( result.data, function( index, value ) {
                    var link;
                    var imgSrc = '';
                    var name = '';
                    var message = '';
                    if(typeof(value.link) != "undefined" && value.link !== null) {
                        link = value.link;
                    } else {
                        link = value.permalink_url;
                    }
                    if(typeof(value.full_picture) != "undefined" && value.full_picture !== null) {
                        imgSrc = value.full_picture;
                    }
                    if(typeof(value.name) != "undefined" && value.name !== null) {
                        name = value.name;
                    }
                    if(typeof(value.message) != "undefined" && value.message !== null) {
                        message = value.message;
                    }
                    var moreFeeds = '<div class="grid-item"><a href="'+value.permalink_url+'" target="_blank">'+
                        '<div class="thumbnail">'+
                        '<img src="'+imgSrc+'" alt="'+name+'" >'+
                        '<div class="caption">'+
                        '<h3>'+name+'</h3>'+
                        '<p>'+message+'</p>'+
                        '</div>'+
                        '</div>'+
                    '</a></div>';
                    var $moreFeeds = $( moreFeeds );
                    // Append new blocks
                    $("#facebook-feed").find("div.grid-item:last").after( $moreFeeds );
                    // Have Masonry position new blocks
                    $("#facebook-feed").find("div.grid-item:last").masonry( 'appended', $moreFeeds );
                    /*$("#facebook-feed").find("div.grid-item:last").after(
                        '<div class="grid-item"><a href="'+value.permalink_url+'" target="_blank">'+
                        '<div class="thumbnail">'+
                        '<img src="'+imgSrc+'" alt="'+name+'" >'+
                        '<div class="caption">'+
                        '<h3>'+name+'</h3>'+
                        '<p>'+message+'</p>'+
                        '</div>'+
                        '</div>'+
                    '</a></div>'
                    );*/
                })
            },
            error:function() {
                $("#facebook-feed").html('Failed To Load Resource');
            },
        })
    })

facebook上的帖子很好,但砖石不起作用。如何解决这个问题?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-08 09:07:22

您可以使用$('#facebook-feed').masonry('reloadItems');来重新加载项目,但是如果它不能工作,您可以使用$('#facebook-feed').masonry('destroy');销毁砌体实例,然后重新初始化它。

您可以检查所有可用的方法这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36495471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档