4

バックボーンビューのコンテキストでは、DOMでビューを追加および削除します。ただし、同位体要素を含むコンテナは、初期ロード中にのみ機能します。その後、コンテナを取り外して再度追加すると、アイソトープが期待どおりに機能しなくなります。

ここで簡単なJSfiddleを実行しました:http: //jsfiddle.net/mulderp/T8aSQ/6/- >

Isotopeコンテナを追加すると、次のようになります。

var list = '<div data-foo="bar" id="container"><div class="item red"></div><div class="item blue"></div></div>';
$container.html(list);
$container.isotope('shuffle');

DOM構造は最初のものと似ていますが、Isotopeはもう実行されていません。

誰もが何が起こるか、そして最初の初期化のときのようにIsotopeに新しい要素を読み取らせる方法を知っていますか?

4

1 に答える 1

8

しばらく前に同じ問題に出くわしました。Isotope のアニメーションを操作間で維持したい場合は、次のように解決します。

$container.html('');書き込みの代わりに削除機能で:

var elToRemove = $container.data('isotope').$filteredAtoms;
$container.isotope('remove',elToRemove);

そして、あなたの作成機能では、代わりに$container.html(list);

$container.isotope('insert',$(list));

それ以外の場合は、操作間のアニメーションが必要ない場合は、関数をそのままにして、シャッフルを呼び出す前に作成した関数で Isotope を再初期化することができます。

作業フィドル: http://jsfiddle.net/T8aSQ/7/

于 2013-02-15T15:13:03.590 に答える