Javascript 在AJAX调用后重新加载网格

Javascript 在AJAX调用后重新加载网格,javascript,jquery,ajax,jquery-masonry,Javascript,Jquery,Ajax,Jquery Masonry,我有一个砖石网格,工作得很漂亮。它可以完美地加载和重新调整。但我正在使用一个过滤结果的插件(Wordpress的搜索和过滤插件),并使用AJAX来实现这一点。但是在AJAX调用之后,我的砖石网格不再工作。我知道这是因为我需要在AJAX调用后重新加载砖石结构,但我不知道该怎么做。有人知道我怎么做吗 这是我的基本HTML结构 <div id="masonry-container> <div id="search-results-container" class="maso

我有一个砖石网格,工作得很漂亮。它可以完美地加载和重新调整。但我正在使用一个过滤结果的插件(Wordpress的搜索和过滤插件),并使用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>

在AJAX启动并重新加载容器之前,这一切都很正常。然后砌体的计算结果就不正确了,一切都不正常了。我需要找到一种在AJAX调用后重新加载砖石结构的方法。有什么想法吗?

您需要在您的砌体实例上调用
reloadItems()
方法。这将启动DOM重新计算:


我应该把代码放在哪里?我以前尝试过,但不确定我是否正确使用了它。您已经将AJAX成功回调处理程序放入其中,因此,当您成功获取这些项并更新DOM时,您需要调用此方法使其发挥作用。如果其中一个块上有
textarea
,并且用户将
textarea
框拖得更大,则需要调用此方法。如何刷新砌体网格?
    jQuery(window).load(function() {


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

});