4

流動的な幅のテーマがあり、jQuery Masonry と Infinite Scroll を使用しています。問題は、特定の速度 (速すぎず、遅すぎず) でページをスクロールすると、グリッドが壊れる可能性があることです。これは 2 つの列と Firefox でのみ見たことがあります。

画面レイアウト

なぜこれが起こっているのか知っている人はいますか?多くのことが考えられることはわかっていますが、誰かがこれを経験したことがあり、何が起こっているのかを知っていれば、大いに役立つでしょう.

更新: ページの最後の投稿の直後に休憩が発生します。後に続くものは、無限スクロールのコールバックによって生成されています。

4

2 に答える 2

2

さて、私はあなたのページへのリンクを見ることができません(そして画像は利用できません)が、私の過去の石積みの経験から、ページサイズに大きな変化(サイズ変更、スクロール、サイズ変更)があるときはいつでもdiv) 再度トリガーする必要があります:

jQuery(document).ready(function() {
    jQuery("#somediv").click(function() {
        jQuery('#leftcol').toggle(700); //div resizing start here
        jQuery('#somediv2').toggleClass("minside");
        jQuery('#somediv').toggleClass("full"); // evoke again after change..
        jQuery('#container').masonry({
            itemSelector : '.item',
            columnWidth : 240
        });
    });
});
于 2011-11-13T09:40:23.830 に答える
0

これを無限スクロールのコールバックとして追加すると、問題はなくなります...少なくとも私にとってはうまくいきます:

// trigger Masonry as a callback
function (newElements) {
    // hide new items while they are loading
    var $newElems = $(newElements).css({ opacity: 0 });
    // ensure that images load before adding to masonry layout
    $newElems.imagesLoaded(function () {
        // show elems now they're ready
        $newElems.animate({ opacity: 1 });
        $container.masonry('appended', $newElems, true);
    });

});

$container変更した場合に備えて確認してください。

于 2012-06-01T03:52:28.700 に答える