jQuery.getJSON('http://localhost/test.json',function(data){ var tmp; var l = data.length; var h = ''; for(var i=0;i<l;i++){ tmp =data[i]; h += '<div class="item"><h5>'+tmp.title+'</h5><img src="'+tmp.image+'" alt=""></div>'; } jQuery(h).imagesLoaded(function(){ jQuery('#wall').append(jQuery(h)).masonry('appended', jQuery(h), true); }); })
在第一步加载js的时候是没有问题的,
关键是触发ajax之后添加到后面的DOM就不会再瀑布流式的排列了.
还有如果ajax改成如下
jQuery.getJSON('http://localhost/test.json',function(data){ var tmp; var l = data.length; var h = ''; for(var i=0;i<l;i++){ tmp =data[i]; h = '<div class="item"><h5>'+tmp.title+'</h5><img src="'+tmp.image+'" alt=""></div>'; jQuery(h).imagesLoaded(function(){ jQuery('#wall').append(h).masonry('appended', jQuery(h), true); }); } });