砌体,懒惰负载和ACF Gallery Field

时间:2014-07-07 22:01:15

标签: lazy-loading advanced-custom-fields masonry

我正在使用ACF图库字段将图像添加到自定义帖子类型中。问题是,在一个帖子的情况下,我添加了大约80个图像,这意味着它们都必须在触发Masonry之前加载。当我向下滚动页面时,我以为我会使用延迟加载来加载图像,但这需要您知道图像尺寸。 我发现了这个https://github.com/okadots/masonry-wp-lazy-load,但事实证明它不是很安全。

有人还有其他想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用imagesLoaded(由砌体的创建者制作)来确保在触发砌体之前加载所有图像。

images在Masonry文档中加载:http://masonry.desandro.com/appendix.html#imagesloaded

答案 1 :(得分:0)

你可以使用imagesLoaded插件,在这里找到:http://imagesloaded.desandro.com/然后每次加载图像时你都可以刷新网格的布局,它将如下所示:

// init Masonry
var $grid = $('.grid').masonry({
  // options...
});

// layout Masonry after each image loads
$grid.imagesLoaded().progress( function() {
  $grid.masonry('layout');
});

每次向网格添加更多项目时(可能是通过AJAX),您需要执行布局砌体的行

如果您遇到困难,可以使用准备使用的插件,例如:https://codecanyon.net/item/media-boxes-portfolio-responsive-grid/5683020使用此插件可以延迟加载,只需指定图像的URL和插件将完成剩下的工作,您可以配置要在每组上加载的图像数量