php - jquery masonry 图像重叠,直到完成页面大小调整

标签 php javascript jquery image jquery-masonry

我发现这个模板演示了我在使用 jquery masonry 时遇到的问题和图像布局。看看这个推特 Bootstrap 模板 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',
   isAnimated: true,
   isFitWidth: true
  });
});

关于php - jquery masonry 图像重叠,直到完成页面大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391198/

相关文章:

jquery - 用于保留所选 "li"突出显示的 css/jquery

php - 无法使用 PHPMailer 和 Mailtrap 发送邮件

javascript - 回调已经被调用

php - laravel 资源 Controller /路由和模型

javascript - jQuery:是否可以获取 css 值数组?

javascript - 如何在不滚动页面的情况下在加载时滚动 div 内的表格

javascript - 使用 jquery 显示简单的 carousal 描述

jquery - 在主元素对象上扩展 jquery

php - 使用 PHP 对不同字段的 mysql 输出进行排序

php - 除非刷新或删除浏览数据,否则网站上的新内容不会出现