Javascript 在AJAX调用后重新加载网格
我有一个砖石网格,工作得很漂亮。它可以完美地加载和重新调整。但我正在使用一个过滤结果的插件(Wordpress的搜索和过滤插件),并使用AJAX来实现这一点。但是在AJAX调用之后,我的砖石网格不再工作。我知道这是因为我需要在AJAX调用后重新加载砖石结构,但我不知道该怎么做。有人知道我怎么做吗 这是我的基本HTML结构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
<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',
});
});