我在一个网站上使用 Packery.js [ http://packery.metafizzy.co/ ],并且在页面加载时遇到了一些布局问题。我查看了 Masonry、Isotope 和 Packery 的文档(所有非常相似的插件,都由 David DeSandro 开发),它讨论了在加载所有图像以及任何 webfonts 后应该触发布局的问题。
http://packery.metafizzy.co/appendix.html
我让 Packery 与 imagesLoaded 一起工作得很好......但我不确定如何将 Google Web Font 加载器与它联系起来。下面是我加载字体的代码,然后是 imagesLoaded Packery 布局。如果有人能提出一种在 Web Fonts 和 imagesLoaded 之后让 Packery 火起来的方法,我将永远感激不尽。
// before <body>
<script type="text/javascript">
WebFontConfig = {
google: {
families: [ 'Bitter:400,700,400italic:latin' ]
},
typekit: {
id: // hidden for obvious reasons
}
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>
// after </body>
// jquery and plugins are loaded prior to the following code
jQuery(document).ready(function($) {
var $container = $('section.home-page main');
imagesLoaded( $container, function() {
$container.packery({
itemSelector: 'article',
columnWidth: '.grid-sizer',
gutter: '.gutter-sizer'
});
});
});