1

Masonry をテストしているときに、Firefox でシフト リロード (ハード リロード) すると、ページ内の画像の高さだけレイアウトがずれることに気付きました。divの高さは、画像の高さを知ることに依存する必要があると思います。これは理にかなっています。

私はすでに jquery.waitforimages.js を使用しているので、これをページとスクリプトの最後に追加しました。

$wall.waitForImages(function() {

    $wall.masonry( 'reload' );

});

すべてが機能しますが、ハードリロードしない場合にのみ発生するエラーが Firebug に表示されるようになりました。したがって、画像が既にキャッシュされている場合にこのエラーが発生すると想定しています。

これから抜け出す方法はありますか?ありがとう!

4

1 に答える 1

1

回答: imagesLoaded with Masonry というスクリプトを使用してください。これは、同じ作成者が両方を作成し、それらが連携して動作するためです。
スクリプト: https://github.com/desandro/imagesloaded/

あなたのjQueryでは、次のようなものです:

    $wall = $('#mydiv');
    $wall.imagesLoaded(function(){
            // call your layout function, something like:
            // layoutBricks();
    });

これにより、ハイゼンバグを回避できます。この新しい画像読み込みスクリプトを他のガジェットでテストしていないので、まだわかりません。

于 2012-08-15T10:10:28.937 に答える