1

石積みの追加方法を使用すると、追加されたすべてのアイテムの「左」属性が「0」として計算され、すべてのアイテムが 1 つの列に表示されます。masonry('reload') を実行すると、すべてが正しく再配置されますが、新しいアイテムがロードされるたびに再配置するのはリソースを大量に消費します。

また、下からアニメーション化する必要がありますが、上からアニメーション化しています。

私のコードは次のとおりです。

最初に:

$('.pinboard-list').masonry({
    itemSelector : '.grid-item'
});

それでは、各項目について

function renderitems(){
    boxes = $(html);
    $('.pinboard-list').append(boxes).masonry('appended',boxes,true);
}

明らかな何かが欠けていますか?

編集

JSフィドル

http://jsfiddle.net/LTFG8/1/

4

2 に答える 2

3

ドキュメントに示されているように、imagesLoaded メソッドを使用する必要があります。Masonry (および Isotope) は、新しく追加または追加または挿入された画像の幅と高さを正しくレイアウトし、コールバックで再トリガーする必要があります。これについての方法を示す SO に関する多くの同様の質問と回答があります。Chrome の devtools を使用したデモをご覧ください。

于 2012-09-19T08:33:42.340 に答える
1

手がかりをありがとう@Systembolaget。追加されたメソッドが機能するには、コンテナー内に何かが既に存在する必要がありました。このようなものを追加すると修正されました:

<li class="grid-item">&nbsp;</li>

それを修正します

于 2012-09-20T09:00:07.193 に答える