分享一個jQuery動態網格布局插件:Masonry


分享一個jQuery動態網格布局插件:Masonry

在線演示

Masonry是 一款非常強大的jQuery動態網格布局插件,可以幫助開發人員快速開發類似剪貼畫的界面效果。和CSS中float的效果不太一樣的地方在 於,float先水平排列,然后再垂直排列,使用Masonry則垂直排列元素,然后將下一個元素放置到網格中的下一個開發區域。這種效果可以最小化處理 不同高度的元素在垂直方向的間隙。如下:

分享一個jQuery動態網格布局插件:Masonry

在上圖中大家可以看到,在網格布局中使用float來處理不同高度的元素會使得垂直方向的元素間間隔比較大,而使用Masonry處理后,間隔變小。

Javascript

首先倒入類庫,如下:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src="/path/to/jquery.masonry.min.js"></script>

然后,針對元素容器執行masonry,如下:

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

HTML

<div id="container">
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
...
</div>

CSS

.item {
width: 220px;
margin: 10px;
float: left;
}

如果你加載的元素中有圖片的話,那么需要確保Masonry在所有圖片都加載完后才執行,需要調用如下代碼:

var $container = $('#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector : '.item',
columnWidth : 240
});
});

Masonry可提供相關選項方法,具體請參考官方網站。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM