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);
            }
        });
    };  

});

石積みスクリプトも実装しました。次に、スクロール後に読み込まれる新しいコンテンツを、石積みの呼び出しを使用してWebページに追加します。

 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