1

我有我定制的无限滚动脚本,它使用了 ajax 调用:

    $(function(){

    var fetching = false;
    var $container = $('#content_home');

    $container.imagesLoaded(function(){
        $container.masonry({
            itemSelector : '.wrdLatest',
            columnWidth:15
        });
    });


    $(window).scroll(function(){
        var bufferzone = $(window).scrollTop() * 0.20;
        if (!fetching && ($(window).scrollTop() + bufferzone > ($(document).height()- $(window).height()-1) && $(".wrdLatest:last").attr("id") != 1)){

        $('.loading').fadeIn(250);
        lastPostFunc();

        }       
    }); 

    function lastPostFunc() 
    { 
        fetching = true;
        $.post("/ajax/loadmore.php?lastid="+$(".wrdLatest:last").attr("id"),

        function(data){
            if (data != "") {
                $container.masonry( 'appended', data, true );
                //setTimeout(function(){$(".wrdLatest:last").after(data);},1000);
                setTimeout(function(){fetching = false;},2000);
                $('.loading').delay(1000).fadeOut(250);
            }
        });
    };  

});

我也实现了砌体脚本。现在我想通过使用 masonry 调用将滚动后加载的新内容附加到网页:

 function(data){
        if (data != "") {
            $container.masonry( 'appended', data, true );
            //setTimeout(function(){$(".wrdLatest:last").after(data);},1000);
            setTimeout(function(){fetching = false;},2000);
            $('.loading').delay(1000).fadeOut(250);
        }
    });

但部分:

 $container.masonry( 'appended', data, true );

似乎不起作用。在我实施砌体之前,我使用了自己的方法:

 //setTimeout(function(){$(".wrdLatest:last").after(data);},1000);

这工作得很好。

我在砌体电话中做错了什么?

演示:http ://acc.itemmized.com

似乎数据已加载“超过”旧内容......而且它不是砖石布局......

4

0 回答 0