当我将 AJAX 返回的数据附加到我的砌体容器时,它不会拾取已应用于先前加载的项目的网格布局。我正在使用包含在文档就绪函数中的以下代码:
// Masonry
var $container = $('#masonry-container');
$container.imagesLoaded(function () {
$container.masonry({
itemSelector: '.grid_4',
isAnimated: true
});
});
// AJAX Fotolia Image Search
var morebtn = $('.get-more-results');
var sOffset = 50;
morebtn.on('click', function () {
var $cst = $('.crrsrch').text();
$.ajax({
type: "POST",
url: "...",
data: {};
success: function (data) {
$container.imagesLoaded(function () {
$container.append(data);
$container.masonry('appended', data);
});
}
});
return false;
});
来自 AJAX 调用的项目被附加,但它们没有砌体布局 - 它们浮动在列表的顶部而不是出现附加。数据被附加到标记中。
使用 Masonry 附加方法也会引发错误。我在控制台中得到以下信息:
Uncaught TypeError: Property 'webkitMatchesSelector' of object is not a function
i
r._filterFindItemElements
r._getItems
r.addItems
r.appended
t.fn.(anonymous function)
(anonymous function)
doneLoading
除了最后两个((匿名函数)和 doneLoading)之外,每个都与 masonry js 文件有关。
通过使用砖石网站上的方法文档,这应该可以工作。显然我在这里遗漏了一些东西。
可能有帮助的额外信息 - AJAX 调用是对 Fotolia API - 该站点建立在 Wordpress 3.5.2 上 - javascript 文件正在排队
如果有人有任何想法或可以提供一些帮助,将不胜感激。
提前谢谢了。