私はカスタムメイドの無限スクロールスクリプトを持っています。これは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);
これは非常にうまく機能します。
組積造の呼び出しで何が間違っているのですか?
データは古いコンテンツの「上」にロードされているようです...そしてそれは石積みのレイアウトではありません...