2016-12-20 3 views
1

나는 아름답게 작동하는 벽돌 그리드가 있습니다. 그것은 완벽하게로드되고 재조정됩니다. 하지만 결과를 필터링하는 플러그인 (Search & Wordpress 용 필터 플러그인)을 사용하고 있으며 AJAX를 사용하여 플러그인을 사용하고 있습니다. 그러나 AJAX 호출 후, 내 벽돌 그리드는 더 이상 작동하지 않습니다. 나는 그것이 AJAX 호출 이후에 벽돌을 다시로드 할 필요가 있다는 사실 때문에 알지만, 어떻게 해야할지 정확히 모르겠습니다. 아무도 내가 어떻게 할 수 있는지 안다?AJAX 호출 후 벽돌 그리드 다시로드

여기 내 기본 HTML 구조입니다.

<div id="masonry-container> 
    <div id="search-results-container" class="masonry-brick"> 
     <h2>Title</h2> 
     <img src="myimage.jpg"> 
     <p>Content</p> 
</div> 
</div> 

.search-results-container는 반복되는 div입니다. AJAX를 할 때까지 잘 작동

jQuery(window).load(function() { 


     var container = document.querySelector('#masonry-container'); 
     var msnry = new Masonry(container, { 
     itemSelector: '.search-results-card', 
     columnWidth: '.search-results-card',     
     }); 

}); 

가 시작되고 컨테이너를 다시로드 :

내 JS는 다음과 같습니다. 다음 벽돌 계산은 꺼져 있고 모든 것은 터벅 터벅 거리다. AJAX 호출 후 석조물을 다시로드하는 방법을 찾아야합니다. 어떤 아이디어?

답변

1

Masonry 인스턴스에서 reloadItems() 메서드를 호출 할 수 있습니다.

http://masonry.desandro.com/methods.html#reloaditems

+0

내가 그 코드를 삽입합니다 : 이것은 DOM의 재 계산을 시작된다? 이전에 해봤지만 제대로 사용하고 있는지 확신 할 수 없었습니다. – Lazerbrains

+0

AJAX 성공 콜백 핸들러에 넣으므로 아이템을 성공적으로 가져 와서 DOM을 업데이트 할 때이 메소드를 호출하여 Masonry가 마술을 작동하게해야합니다. –