即使使用imagesLoaded,jquery砌体图像高度自动也不起作用

时间:2015-01-31 09:46:09

标签: javascript jquery jquery-masonry

我知道这里有很多答案,但没有一个能为我工作。

我正在尝试加载固定宽度的图像,但图像的高度不同。

我正在使用带有imagesLoaded js的Jquery Masonry,但我还是无法让它工作。如果我将css中的宽度和高度设置为像素大小,它可以正常工作,但如果我将高度更改为auto,则会失败并且所有图像都会加载相同的高度。

这是我用来初始化的javascript(我尝试过很多变种!)

var container = document.querySelector('#container');
var msnry;
// initialize Masonry after all images have loaded
imagesLoaded( container, function() {
msnry = new Masonry( container, {
// options
columnWidth: 390,
itemSelector: '.item'
} );
});

这就是css

img {display:block; height:auto; width:390px;}

我已经乱哄哄几天了,有人必须知道答案!

1 个答案:

答案 0 :(得分:0)

希望这将有助于将来的一些人。

我唯一可以忍受的是等待页面完全加载以达到设定的高度,然后再抓住这些高度。

为此,我使用了window.load。也许有更好的方法,但这对我有用。

$(window).load(function(){

 $('.someDiv').each(function () {

  var $this = $(this);
    var someDivHeight = $this.height();

    console.log(someDivHeight);

  });
});