jquery实现超简单的瀑布流布局【推荐】


Posted in Javascript onMarch 08, 2017

1.看看效果吧!

jquery实现超简单的瀑布流布局【推荐】

2.html代码index.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
 ul{position: relative;padding: 0 -3px;list-style: none;width: 600px;margin: 0 auto}
 li{width: 33.33%;position: absolute;box-sizing: border-box;display: block; }
 img{width: 100%;height: auto;display: block;}
 </style>
 <script src="./jquery-1.12.4.min.js"></script>
</head>
<body style="background: #000">
 <ul class="flowLayout-box">
 <li class="flowLayout-item"> <img class="flowLayout-pic" src="./img/u17.png" alt=""></li>
 <li class="flowLayout-item"> <img class="flowLayout-pic" src="./img/u19.png" alt=""></li>
 <li class="flowLayout-item"> <img class="flowLayout-pic" src="./img/u114.png" alt=""></li>
 <li class="flowLayout-item"> <img class="flowLayout-pic" src="./img/u116.png" alt=""></li>
 <li class="flowLayout-item"> <img class="flowLayout-pic" src="./img/u118.png" alt=""></li>
 <li class="flowLayout-item"> <img class="flowLayout-pic" src="./img/u120.png" alt=""></li>
 <li class="flowLayout-item"> <img class="flowLayout-pic" src="./img/u132.png" alt=""></li>
 </ul>
</body>
</html>

3.插件代码

(function ($) {
 $.fn.flowLayout = function(options) {
 var dft = {
 gapWidth:16, //间隙
 gapHeight:16, //间歇
 column:3 //列
 };
 var ops = $.extend(dft,options);
 var _this = $(this);
 _this.width((_this.parents('.flowLayout-box').width()-2*ops.gapWidth)/3)
 var _pWidth=_this.parents('.flowLayout-box').width();
 $(".flowLayout-box").css({
 'opacity':0
 });
 var columnHeight=[],columnIndex=0;
 for (var i=0 ;i<ops.column;i++){
 columnHeight.push(0);
 }
 setTimeout(function () {
 for(var j =0 ; j< _this.length ;j++){
 console.log(columnHeight[columnIndex]);
 $(_this).eq(j).css({
 'top':columnHeight[columnIndex]+ops.gapHeight+'px',
 'left':_pWidth*columnIndex/3+'px'
 })
 columnHeight[columnIndex]+=$(_this).eq(j).height()+ops.gapHeight
 columnIndex=getIndex();
 }
 },50)
 function getIndex() {
 var columnIndex=0,maxHeight=0;
 for(var i =0 ;i < columnHeight.length ;i++){
 if(columnHeight[i]<columnHeight[columnIndex]){
 columnIndex=i;
 }
 if(columnHeight[i]>maxHeight){
 maxHeight=columnHeight[i]
 }
 }
 $(".flowLayout-box").css({
 'opacity':1,
 'height':maxHeight
 });
 return columnIndex;
 }
 }
 })(jQuery); 

4.调用代码

$(function () {
 $('.flowLayout-box li').flowLayout({});
 })

代码简单,容易修改,,拿去用吧。。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jQuery UI Autocomplete 1.8.16 中文输入修正代码
Apr 16 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 Javascript
你不知道的高性能JAVASCRIPT
Jan 18 Javascript
Bootstrap3下拉菜单的实现
Feb 22 Javascript
微信小程序之绑定点击事件实例详解
Jul 07 Javascript
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
vue组件父与子通信详解(一)
Nov 07 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
Feb 22 Javascript
Vue中util的工具函数实例详解
Jul 08 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
Jul 12 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 29 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
Mar 08 #Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 #Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
Mar 08 #Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
Mar 08 #Javascript
jquery仿ps颜色拾取功能
Mar 08 #Javascript
关于Javascript中document.cookie的使用
Mar 08 #Javascript
JavaScript中transform实现数字翻页效果
Mar 08 #Javascript
You might like
php 301转向实现代码
2008/09/18 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
动态加载js的几种方法
2006/10/23 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
深入理解js promise chain
2016/05/05 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
JavaScript使用prototype属性实现继承操作示例
2020/05/22 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python isinstance判断对象类型
2008/09/06 Python
Python 除法小技巧
2008/09/06 Python
python类定义的讲解
2013/11/01 Python
Python、Javascript中的闭包比较
2015/02/04 Python
Python探索之SocketServer详解
2017/10/28 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
python多线程同步之文件读写控制
2021/02/25 Python
python requests证书问题解决
2019/09/05 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
巴西购物网站:Submarino
2020/01/19 全球购物
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
大学生就业意向书范文
2014/04/01 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python