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 相关文章推荐
JavaScript中使用构造函数实现继承的代码
Aug 12 Javascript
页面使用密码保护代码
Apr 10 Javascript
IE中鼠标经过option触发mouseout的解决方法
Jan 29 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
微信小程序实现animation动画
Jan 26 Javascript
vue返回上一页面时回到原先滚动的位置的方法
Dec 20 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
Apr 12 Javascript
javascript实现商品图片放大镜
Nov 28 Javascript
小程序使用wxs解决wxml保留2位小数问题
Dec 13 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
Apr 26 Javascript
js获取url页面id,也就是最后的数字文件名
Sep 25 Javascript
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
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
收音机术语解释
2021/03/01 无线电
留言板翻页的实现详解
2006/10/09 PHP
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
PHP中的extract的作用分析
2008/04/09 PHP
php文件读取方法实例分析
2015/06/20 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
JavaScript 继承详解 第一篇
2009/08/30 Javascript
JS小框架 fly javascript framework
2009/11/26 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
python去除扩展名的实例讲解
2018/04/23 Python
python中必要的名词解释
2019/11/20 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
python爬虫要用到的库总结
2020/07/28 Python
Python类的继承super相关原理解析
2020/10/22 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
使用C#编写创建一个线程的代码
2013/01/22 面试题
文明寝室标语
2014/06/13 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
护士实习自荐信
2015/03/06 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript