【问题标题】:Masonry view showing images one below another砌体视图显示一个在另一个之下的图像
【发布时间】:2015-06-04 09:22:00
【问题描述】:

我使用了 Masonry 视图插件,但是当通过 ajax 调用加载图像时,它们似乎显示在另一个下方(如列表)

HTML

    <div id="masonryView" data-ng-repeat="image in images">
            <div class="item">
              <a target="_blank" href="">
                <img src="{{image.imageSourceURL}}" alt="" width="250">
              </a>
              <div class="desc">{image.description}</div>
            </div>
    </div>

阿贾克斯

  $(window).load(function(){
    var $container = $('#masonryView').masonry();
    $container.imagesLoaded( function() {
    $container.masonry();
    });
  });

CSS

#masonryView {
 position: relative;
}

.item {
   margin: 10px;
   width: 100px; 
 }

似乎有一个问题可以解释为什么图像显示在另一个之下?

【问题讨论】:

  • 如果你使用 Angular js,试试这个插件github.com/passy/angular-masonry
  • 成功了!!只是额外的事情是包含 imagesLoaded 依赖项,这需要花费大量时间才能弄清楚。

标签: html ajax angularjs web-deployment jquery-masonry


【解决方案1】:

我在您发布的标有“AJAX”的代码中没有看到任何 AJAX,但您应该通过设置 itemSelector 以这种方式调用 masonry:

$(window).load(function(){
var $container = $('#masonryView').masonry();
$container.imagesLoaded( function() {
$container.masonry({itemSelector: '.item'});
});
});

【讨论】:

  • 我试过了,但 imagesLoaded 仍然无法正常工作。
  • 如上所述,您需要添加它。
  • 是否有任何插件可用于在点击后弹出砌体视图中的图像。并且还可以通过按向左或向右箭头滚动图像?
猜你喜欢
  • 1970-01-01
  • 2010-12-21
  • 2011-03-04
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 2018-01-30
  • 2019-07-19
相关资源
最近更新 更多