Ajax内容转化为砌体同位素网格问题

时间:2016-07-08 14:10:58

标签: jquery ajax scroll jquery-isotope masonry

我正试图用ajax将数据显示到同位素砌体网格中。

使用滚动和显示工作的Ajax调用,但同位素网格不...

我看到了带有同位素的无限滚动插件和一些例子,但我没有找到是否可以用这些来调用ajax。

所以,如果你能帮助我,那就太好了!

这是我的javascript:

var $grid = $('#grid').isotope({
        masonry: {
            columnWidth: 300,
            gutter: 25
        },
        itemSelector: '.grid-item',
        sortAscending: false
    });
loadmore();

$(window).scroll(function () {
     IsScrollbarAtBottom();
});

//Fonction de détéction du bottom de page. Si le bas de la page est atteint au scroll, on charge plus de postes
// Detect page bottom and load data if its good
function IsScrollbarAtBottom() {
    var docElement = $(document)[0].documentElement;
    var winElement = $(window)[0];

    if ((docElement.scrollHeight - winElement.innerHeight) == winElement.pageYOffset) {
        loadmore();
    }
}
/* //// LOADMORE //// 
*
*   On charge plus de postes, et on les construits avec buildMore
*   Controllers PHP MAIN : fonction loadmore.
*   
*/
function loadmore() {
    $.ajax({
        url: 'loadmore',
        method: 'POST',
        contentType: 'text/plain',
        dataType: 'text',           
        success : function(res) {
            buildMore($.parseJSON(res)); 
        },
        error: function(e, s, t){
            console.log(e);
            console.log(s);
            console.log(t);
        }
    });
}
function buildMore(datas){
    for(i=0;i<datas.length;i++){
        var $post = setBlock(datas[i]);
        $('#grid').append($post).isotope('appended', $post);
    }
}

setblock function return html block with datas

所有这些都在document.ready范围内,脚本在正文末尾调用。

我甚至无法理解为什么网格不起作用,.isotope('appended', $post);也不起作用我认为,因为我试图在$ post之后使用console.log进行回调,但它永远不会出现..

有时候我可以在网格上工作,但只能在开头的第一次loadmore调用,(我知道这不是真正好的函数名,但我稍后会更改它。)当我滚动并显示数据时,不关心电网。

我对同位素和砖石来说真的很新,所以我可能做错了。

(这里的第一个问题,我希望我做不好的事情哈哈)。

修改

经过2天多的尝试,我找不到解决方案......我尝试了链接到Isotope页面的无限滚动插件,但我找不到如何在......中启动ajax请求。 p>

我还尝试在每个帖子中添加同位素网格,添加在追加帖子的for循环中,然后执行.isotope('appended', $post);,但似乎附加事件永远不会起作用,我试图用控制台设置回调函数。记录它永远不会发生...

我真的被封锁在这里,我在网上找不到任何帮助我......

如果某人遇到问题或解决方案,我会打开!

谢谢,

旗峰

0 个答案:

没有答案