1

我发现 Masonry 重叠的问题是由 Masonry 脚本后加载的 Google Fonts 引起的。我添加了以下代码来解决这个问题,但现在 Masonry 不起作用。实际上,看起来 Masonry 正在工作一瞬间,然后突然停止工作。

$(document).ready(function () {
  WebFont.load({
    google: {
      families: ['Chivo']
    }
  });
  WebFontConfig = {
    active: function() {
      $('#archive').masonry({
          itemSelector : '.item',
          columnWidth: 350,
          gutterWidth: 20
      });
    }
  };
});
4

1 回答 1

4

看起来 Google WebFontLoader 事件仅在字体异步加载时才有效。我应该更仔细地阅读文档。这是我的功能代码最终看起来的样子......

$(document).ready(function () {

  WebFontConfig = {
    google: {
      families: ['Chivo']
    },
    active: function() {
      $('#archive').imagesLoaded(function(){
        $('#archive').masonry({
            itemSelector : '.item',
            columnWidth: 333,
            gutterWidth: 10
        });
      });
    }
  };

  (function() {
    var wf = document.createElement('script');
    wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
        '://ajax.googleapis.com/ajax/libs/webfont/1.4.2/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'true';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
  })();
});
于 2013-05-29T08:17:42.653 回答