ImagesLoaded和Masonry在第二次AJAX调用中

时间:2015-07-04 19:46:47

标签: javascript jquery ajax masonry

我使用ajax调用加载页面内容,并使用以下代码初始化砌体库,没有任何问题。

$(".masonry-wrapper").imagesLoaded( container, function() {

    setTimeout(function () {
        msnry = new Masonry( container, {gutter: 6} );
    }, 100);

});

但是当我进行第二次ajax调用时,刷新图库内容,图库图像重叠。我猜imagesLoaded在这种情况下不起作用。

  • 我实际上放了setTimeout以避免这种情况但是没有用。
  • 我尝试了setInterval,但它确实有用,但我不希望这种苛刻的方法成为解决方案。

你会为第二次AJAX电话提供什么? 谢谢你。

(我知道将画廊内容与AJAX调用放在一起并不是一个很好的方式,但项目需要这个。)

1 个答案:

答案 0 :(得分:1)

你需要一个功能,例如

function checkimgs() { $(".masonry-wrapper").imagesLoaded().done( function( container ) { msnry = new Masonry( container, {gutter: 6} ); })}

在你的ajax成功通话中运行像checkimgs()这样的功能