2015-03-31 3 views
0

я использовал вид масонства плагин, но когда образы загрузки через вызов 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> 

Ajax

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

CSS

#masonryView { 
position: relative; 
} 

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

Возникает ли проблема, которая может объяснить, почему изображения отображаются один под другим?

+1

Попробуйте этот плагин, если вы используете угловой Js https: //github.com/passy/angular-masonry – roxid

+0

Это сработало! Еще одна вещь заключалась в том, чтобы включить зависимость imagesLoaded, которая потребовала много времени, чтобы понять. – Akshay

ответ

1

Я не вижу какой-либо AJAX в Опубликованном коде с надписью «АЯКС», но вы должны вызвать кладку таким образом, установив свой itemSelector:

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

Я пробовал это, но imagesLoaded все еще не работает. – Akshay

+0

Как вы сказали выше, вам нужно было добавить его. – Macsupport

+0

Да, я добавил, и это сработало позже. Благодаря! – Akshay

Смежные вопросы