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 相关文章推荐
用js实现键盘方向键翻页功能的代码
Jun 03 Javascript
EditPlus注册码生成器(js代码实现)
Mar 25 Javascript
javascript函数中参数传递问题示例探讨
Jul 31 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
Nov 19 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
Dec 08 Javascript
浅谈JavaScript的函数及作用域
Dec 30 Javascript
js通过指定下标或指定元素进行删除数组的实例
Jan 12 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
Sep 16 Javascript
angularjs http与后台交互的实现示例
Dec 21 Javascript
自定义Vue中的v-module双向绑定的实现
Apr 17 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
微信小程序实现点击页面出现文字
Sep 21 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的ob_start();控制您的浏览器cache!
2006/11/25 PHP
php 删除记录实现代码
2009/03/12 PHP
PHP 引用是个坏习惯
2010/03/12 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
checkbox 多选框 联动实现代码
2008/10/22 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
python中关于for循环的碎碎念
2017/06/30 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
django 读取图片到页面实例
2020/03/27 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
体育活动总结
2015/02/04 职场文书
2015年路政工作总结
2015/05/22 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP