如何将LazyLoad实现到masonry+ImagesLoaded布局?我有一个代码
<div class="masonry">
<div class="masonry-sizer"></div>
<div class="masonry-item">
<img class="masonry-content" src="image1.png">
</div>
</div>JS
var $masonry = $('.masonry').masonry({
itemSelector: '.masonry-item',
percentPosition: true,
masonry: {
columnWidth: '.masonry-sizer'
}
});
$masonry.imagesLoaded().progress( function() {
$masonry.masonry('layout');
});而且我无法让它与任何LazyLoad插件一起工作。问题是它必须用imagesLoaded实现,因为我没有特定的图像维度。我找到的所有解决方案都行不通
发布于 2021-07-12 08:17:17
我使用的是LazySizes插件,而不是imagesLoaded,但它现在的工作原理是正确的
<div class="masonry">
<div class="masonry-sizer"></div>
<div class="masonry-item">
<img class="masonry-content lazyload" src="low_quality_image1.png" data-src="image1.png">
</div>
</div>JS
$('.masonry').each(function(){
var $module = $(this);
var update = function(){
$module.masonry('layout');
};
this.addEventListener('load', update, true);
$module.masonry();
});https://stackoverflow.com/questions/68309575
复制相似问题