0

Web アプリケーションのさまざまな部分で Isotope コンテナーを再利用するというコンテキストでは、コンテナーのサイズを変更する必要があります。ただし、小さなレイアウト用の CSS クラスを追加および削除した後、コンテナーはスペースを占有しなくなりました。

JSFiddle を参照してください: http://jsfiddle.net/mulderp/ptLzx/5/

$container.addClass('small');

これにより、コンテナーのサイズが期待どおりに変更されます。

 $container.removeClass('small');
 $container.isotope('shuffle');

元のコンテナを取り戻すことが期待されます。これは動作しません。

セットアップを機能させる方法の手がかりはありますか?

4

1 に答える 1

1

タイミングの問題のようですが、これはIsotopeでよく発生する傾向があります。

シャッフルメソッドの周囲に1000msのsetTimeout()を設定すると、機能します-したがって、問題を確認します...

$('#large').click(function(){
    $container.removeClass('small');
    var timer = setTimeout(function(){
        $container.isotope('shuffle');      
    },1000);
});

タイムアウトはまったく理想的ではありませんが、Isotopeを更新する前に終了する必要があることを示しています。適切なものが見つかるまで、さまざまなタイマーでテストすることをお勧めします。

また、特にアイテムをシャッフルする必要がない限り、$container.isotope('reLayout')overを使用することをお勧めします。このメソッドは、まさにこれを行うために作成されました。$container.isotope('shuffle')

于 2013-02-16T13:08:36.937 に答える