6

私は別のタブを持っているため、石積みは非表示のアイテムをロードしていません。そのため、新しいタブをクリックすると、画像が互いに重なり合います。最初のタブを台無しにすることなく、これを実行します。

現在石工を呼び出しています

$(function(){
$('#container').masonry({
// options
itemSelector : '.item',
columnWidth : 260
   });
});`
$(window).load(function(){   $('#container').masonry(); });

タブ 2 でも同じですが、ID が異なります - #container2

タブ1は完全に機能しますが、タブ2はブラウザのサイズを変更するまで画像をスタックし、ブラウザを修正して通常どおりに動作させます

4

2 に答える 2

9

次のようにします。

$(function(){
    $('#container').masonry({
        // options
        itemSelector : '.item',
        columnWidth : 260
   });
});

var masonryUpdate = function() {
    setTimeout(function() {
        $('#container').masonry();
    }, 500);
}
$(document).on('click', masonryUpdate);
$(document).ajaxComplete(masonryUpdate);

もう心配する必要はありません。または、次のような他のアニメーションの後に再度呼び出すこともできます。

$('#something').slideDown(600, masonryUpdate);

そうでない場合でも、ページ内のどこかをクリックするだけで石材が更新されます。

于 2014-04-15T13:40:56.683 に答える