いくつかの画像を含むタイルの束で石積みのレイアウトを作成しようとしています。おおよそ私のコードは次のとおりです。
var $mainContent = $('#main-content');
$mainContent.imagesLoaded(function() {
$mainContent.masonry()
});
loadMore = function() {
$.ajax({
url: '/things',
success: function (data) {
var $data = $(data);
$data.imagesLoaded(function() {
$mainContent.append($data).masonry('appended', $data, true)
})
}
})
}
$('#load-more').on('click', loadMore)
ただし、これを実行すると、Chrome のコンソールに次のエラーが表示されます。
Uncaught TypeError: Cannot read property 'width' of undefined
痕跡:
bB jquery.min.js:2
f.each.f.cssHooks.(anonymous function).get jquery.min.js:4
f.extend.css jquery.min.js:4
f.each.f.fn.(anonymous function) jquery.min.js:4
e.extend.access jquery.min.js:2
f.each.f.fn.(anonymous function) jquery.min.js:4
f.each.f.fn.(anonymous function) jquery.min.js:4
$.Mason._placeBrick jquery.masonry.js:246
$.Mason.layout jquery.masonry.js:172
$.Mason._appended jquery.masonry.js:352
$.Mason.appended jquery.masonry.js:341
Masonry v.2.1.05 と jQuery v1.7.2 を使用しています
ただし、代わりに を実行reload
するとappended
、デモのように機能しますが、投稿を下から入力したいので、すべての投稿を再計算したくありません。
何が起こっているか知っていますか?
この問題もgithubに投稿しましたが、まだ応答がありません。