2016-12-20 9 views
1

私は美しく働いている石工グリッドを持っています。完全にロードされ、再調整されます。しかし、私は結果をフィルタリングするプラグインを使用しています(Search & Wordpressのためのフィルタプラグイン)、それを行うためにAJAXを使います。しかし、AJAX呼び出しの後、私の石工格子はもはや働いていません。私は、AJAXコールの後でMasonryをリロードする必要があることが原因であることを知っていますが、その方法を正確にはわかりません。誰も私がそれをどうやってできるか知っていますか?AJAXコール後のメイソングリッドのリロード

ここは私の基本的なHTML構造です。

.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呼び出しの後にMasonryをリロードする方法を理解する必要があります。何か案は?

答えて

1

あなたのMasonryインスタンスでreloadItems()メソッドを呼び出すことをお勧めします。これは、DOMの再計算をキックオフします:

私はそのコードを置く

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

+0

?私は前にそれを試しましたが、私はそれを正しく使用していたかどうかはわかりません – Lazerbrains

+0

あなたはAJAX成功コールバックハンドラに入れます。そのようなアイテムを正常に取得してDOMを更新すると、このメソッドを呼び出してMasonryがその魔法を働かせるようにする必要があります –

関連する問題