我使用 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()
那样运行函数
关于javascript - 第二次 AJAX 调用中的 ImagesLoaded 和 Masonry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31224562/