3

Isotope プラグインを使用しています。アイテムを追加する空のコンテナがあります$(document).ready(...

これらのアイテムはすべて正しく追加され、同位体のレイアウトとリンクのフィルタリングは完全に機能しています。

ただし、特定の項目クラスがコンテナーに追加された直後、または挿入時にフィルターを適用できるようにしたいと考えています。

どうやってするか?

再開するには、「ホーム」フィルターをクリックする代わりに、すべてのアイテムがコンテナーに追加されたら適用したい「.home」フィルターがあります。

4

3 に答える 3

12

次のような単純なものがある場合

<ul id="filters">
    <li><a href="#" data-filter=".home">Show all</a></li>
    <li><a href="#" data-filter=".what">What?</a></li>
    <li><a href="#" data-filter=".when">When?</a></li>
    <li><a href="#" data-filter=".why">Why?</a></li>
    // and so forth...
</ul>

DOM が完全に構築されたら、関数を実行してフィルタリングを事前設定することができます。

$(function() {
    // Isotope stuff...
    $container.isotope({filter: '.home'});
    // more Isotope stuff...
});

Isotope が初期化されました。この変更された DeSandro フィドルを参照してください。この変更では、最初のビューがフィルター処理されて赤い要素のみが表示されます。

更新初期コンテンツを空の #container にロードする (Ajax 経由?) 場合は、insert メソッドを使用するか、すべての要素がロードされてソートされるまで #container を非表示にすることができます。Ajax と成功時の Isotope の初期化については、こちらの SO 回答も参照してください。

于 2012-08-17T16:37:46.300 に答える