php – jquery砖石图像重叠,直到页面调整大小完成

我发现这个模板演示了我使用 jquery masonry和图像布局的问题.看看这个twitter引导模板 page

第一次加载页面时,所有图像都将堆叠在一起,直到页面刷新或重新调整大小.然后正确显示图像.

这是我的HTML和jQuery有同样的问题:

HTML

<div class="gallery-masonry masonry" style="position: relative; min-height:100px; height: auto;">
  <div id="loading">Loading ...</div>                            
</div>

jQuery的

$.post("functions/photo_functions.PHP",{ f: 'getallphotos'},function(data) {

  $('#loading').hide();

    if(data) {  
      $.each(data.images,function(i,image) {
        var img_block = '<div class="item masonry-brick" style="position: absolute; top: 0px; left: 0px;">' +
        '<a href="#" class="thumbnail"><img src="'+image.url+'" alt=""></a>' +
        '<div class="actions">' +
        '<a title="" href="#" class="tip-top" data-original-title="Edit"><i class="icon-pencil icon-white"></i></a>' +
        '<a title="" href="#" class="tip-top" data-original-title="Remove"><i class="icon-remove icon-white"></i></a>' +
        '</div>' +
        '</div>';

        $(".gallery-masonry").append(img_block);
          });

        $('.gallery-masonry').masonry({
          itemSelector: '.item',isAnimated: true,isFitWidth: true
        });             
      }

    },"json");

任何想法为什么会发生这种情况,我该如何解决

使用imagesLoaded()在加载所有图像后触发砖石.
(imagesLoaded()由脚本 http://github.com/desandro/imagesloaded提供.)
$('.gallery-masonry').imagesLoaded( function(){
  $('.gallery-masonry').masonry({
   itemSelector: '.item',isFitWidth: true
  });
});

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...