0

我在获取 Masonry 布局以正确加载图像时遇到问题,我对 javascript 相当陌生,希望能得到一些帮助和建议。我尝试了 imagesLoaded,但无法使其正常工作,主要是因为我不太确定是否将正确的 javascript 放在正确的位置。

这是我从网站http://imagesloaded.desandro.com/获取的loadedImages javascript

$('#container').imagesLoaded( function() {
});

$('#container').imagesLoaded( {

  },

function() {
}
);

$('#container').imagesLoaded()
  .always( function( instance ) {
    console.log('all images loaded');
  })
  .done( function( instance ) {
    console.log('all images successfully loaded');
  })
  .fail( function() {
    console.log('all images loaded, at least one is broken');
  })
  .progress( function( instance, image ) {
    var result = image.isLoaded ? 'loaded' : 'broken';
    console.log( 'image is ' + result + ' for ' + image.img.src );
  });

我已将其保存为 masonry.js 并将其加载到 html 中。

在 masonry.pkgd.min.js 我写过:

$('.grid').masonry({
  // set itemSelector so .grid-sizer is not used in layout
  itemSelector: '.grid-item',

  // use element for option
  columnWidth: '.grid-sizer',
  percentPosition: true,

})

砖石工程,但是当我刷新页面时布局中断。如果我调整浏览器,它会自行修复。这是向您展示正在发生的事情的网站:http ://www.elraymond.com/

再次,非常感谢任何建议或指示来纠正这一点。

谢谢

4

1 回答 1

-1

我认为,问题是,图像没有完全加载,在砌体被调用之前......也许它在图像加载文件中出了问题......

从来没有,我不认为,你需要这个库......尝试使用以下代码创建一个新的js文件并将其包含在砌体文件之后

$(window).on('load', function(){
    $('.grid').masonry({
      // set itemSelector so .grid-sizer is not used in layout
      itemSelector: '.grid-item',

      // use element for option
      columnWidth: '.grid-sizer',
      percentPosition: true,

    })
});

通常,这些库并不是真正需要的...... jQuery .on('load') 函数适用于这些情况,并且做同样的事情......唯一的区别是,它等到所有资源来自页面已加载,而不仅仅是图像...

于 2016-11-02T14:25:08.340 回答