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 相关文章推荐
javascript prototype,executing,context,closure
Dec 24 Javascript
jQuery 动画基础教程
Dec 25 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
Jun 13 Javascript
JS注释所产生的bug 即使注释也会执行
Nov 19 Javascript
如何提高Dom访问速度
Jan 05 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
Mar 30 Javascript
webpack进阶——缓存与独立打包的用法
Aug 02 Javascript
JS同步、异步、延迟加载的方法
May 05 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 Javascript
vue 手机物理监听键+退出提示代码
Sep 09 Javascript
vscode中使用npm安装babel的方法
Aug 02 Javascript
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
php中文件上传的安全问题
2006/10/09 PHP
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
php实现图片压缩处理
2020/09/09 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
js字符编码函数区别分析
2008/06/05 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
python调用百度REST API实现语音识别
2018/08/30 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
.NET现在共支持多少种语言
2014/02/26 面试题
客运企业隐患排查工作方案
2014/06/06 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
八年级作文之友情
2019/11/25 职场文书
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技