ImagesLoaded和Masonry在第二个AJAX调用中

ImagesLoaded and Masonry in the second AJAX call

本文关键字:AJAX 调用 第二个 Masonry ImagesLoaded      更新时间:2023-09-26

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

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

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

  • 我实际上设置了setTimeout来避免这种情况,但没有起作用
  • 我尝试了setInterval,它起了作用,但我不想用这么苛刻的方法来解决问题

对于第二次AJAX调用,您会提供什么?现在谢谢。

(我知道用AJAX调用放置图库内容不是一种很好的方式,但项目需要这样做。(

您需要一个函数,例如

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

并在ajax成功调用中运行类似checkimgs()的函数