jQuery Masonry瀑布流插件使用详解


Posted in Javascript onNovember 17, 2014

Masonry是 一款非常强大的jQuery动态网格布局插件,可以帮助开发人员快速开发类似剪贴画的界面效果。和CSS中float的效果不太一样的地方在 于,float先水平排列,然后再垂直排列,使用Masonry则垂直排列元素,然后将下一个元素放置到网格中的下一个开发区域。这种效果可以最小化处理 不同高度的元素在垂直方向的间隙。如下:

jQuery Masonry瀑布流插件使用详解

在上图中大家可以看到,在网格布局中使用float来处理不同高度的元素会使得垂直方向的元素间间隔比较大,而使用Masonry处理后,间隔变小。

用法

首先倒入类库,如下:

<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   
Javascript 相关文章推荐
关于IE7 IE8弹出窗口顶上
Dec 22 Javascript
js遍历、动态的添加数据的小例子
Jun 22 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
Aug 23 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
May 18 Javascript
原生JS改变透明度实现轮播效果
Mar 24 Javascript
Vue.js在数组中插入重复数据的实现代码
Nov 17 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
Mar 21 Javascript
JS实现动态生成html table表格的方法分析
Jul 11 Javascript
vue-cli脚手架的安装教程图解
Sep 02 Javascript
JavaScript实现随机点名器
Mar 25 Javascript
通过实例解析js可枚举属性与不可枚举属性
Dec 02 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 Vue.js
javascript将url中的参数加密解密代码
Nov 17 #Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 #Javascript
PHP PDO操作总结
Nov 17 #Javascript
JavaScript函数详解
Nov 17 #Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 #Javascript
详解Javascript 装载和执行
Nov 17 #Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 #Javascript
You might like
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
提高php编程效率技巧
2015/08/13 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
Python的函数嵌套的使用方法
2014/01/24 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
python清理子进程机制剖析
2017/11/23 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
Python如何访问字符串中的值
2020/02/09 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
Python多线程的退出控制实现
2020/08/10 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
微笑服务演讲稿
2014/05/13 职场文书
青年志愿者活动方案
2014/08/17 职场文书
先进事迹演讲稿
2014/09/01 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js