Packery 由 html 发起。我如何实现 imagesLoaded?

Packery inititated by html. How do i implement imagesLoaded?

我正在用 packery 创建一个网站,我正在尝试修复 imagesLoaded 的一些布局问题。我正在通过 html 像这样启动包装:

 <div id="content" class="site-content inner js-packery"
  data-packery-options='{ "itemSelector": ".item", "gutter": 0}'>

我正在尝试像这样使用 imagesLoaded:

 <script>
$(function(){
    var $container = $('#container');
    $container.imagesLoaded( function() {
        $container.masonry();
    });
});
</script>

但是它不起作用,我不知道该怎么做:(

解决方案是将脚本放在页面底部,就在结束正文标记上方。像这样:

<?php wp_footer(); ?>
<script>
var container = document.querySelector('#blog-list-center');
var $pckry;
var $pckry = new Packery( container, {
// options
itemSelector: '.item',
gutter: 0,
});
// initialize Packery after all images have loaded
imagesLoaded( container, function() {
$pckry = new Packery( container );
});
</script>
</body>

</html>
var $container = $('#container');
$container.imagesLoaded( function() {
  $container.masonry();
});

imagesLoaded 本身就是一个函数,来自:

http://imagesloaded.desandro.com/imagesloaded.pkgd.min.js

您不必嵌套它。希望对你有帮助。