Masonryを使う際にわりと大事なimagesLoadedプラグイン@jQuery
jQuery Masonryを使っている場合、このメソッドの実行前に画像をすべて読み込んでおくようにしておいたほうがよかったりする。と思います。たぶん。
自分がやってみたものだと、これをしてないとSafariやChrome(webkit系ブラウザ)で、たまにボックス(タイリングさせている要素)が潰れたように重なってしまったりして表示崩れを起こしたので。
そのために利用できるのがimagesLoadedプラグインです。
その潰れたようになってしまうという不具合を解消するには、img要素にwidth, height属性を記述しておけば大丈夫っていう記事をけっこう見かけましたが、それでも自分の場合は解消しきれなかったので、このimagesLoadedプラグインを導入しました。
githubからダウンロードします。
desandro / imagesloaded
とりあえずmin版を使ってみます。 jquery.imagesloaded.min.js
jQuery本体、masonry、imagesloadedの順に読み込んで
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> <script src="js/vendor/jquery.masonry.min.js"></script> <script src="js/vendor/jquery.imagesloaded.min.js"></script>
jsの記述はこんな具合に。(先にmasonryを仕込んでいて、そこに追加という流れで来てます)
<script> var $container = $('#container'); // 追加した行 $container.imagesLoaded(function(){ // 追加した行 $container.masonry({ itemSelector: '.box', columnWidth: 100 }); }); // 追加した行 </script>
以上です。これでその不具合は解消できました。
- 作者: 雲黒斎
- 出版社/メーカー: サンマーク出版
- 発売日: 2010/03/19
- メディア: 単行本
- 購入: 5人 クリック: 119回
- この商品を含むブログ (16件) を見る