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 一个函数对同一元素的多个事件响应
Jul 25 Javascript
javascript 继承实现方法
Aug 26 Javascript
15款优秀的jQuery导航菜单插件分享
Jul 19 Javascript
20行代码实现的一个CSS覆盖率测试脚本
Jul 07 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
Jun 15 Javascript
仿百度联盟对联广告实现代码
Aug 30 Javascript
jquery.validate 自定义验证方法及validate相关参数
Jan 18 Javascript
JavaScript中setTimeout的那些事儿
Nov 14 Javascript
Vue.js实现简单动态数据处理
Feb 13 Javascript
vue-devtools的安装步骤
Apr 23 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
Mar 04 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 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生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
浅析JavaScript回调函数应用
2016/05/22 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
HTML的select控件美化
2017/03/27 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
PyQt5实现拖放功能
2018/04/25 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
工作失误检讨书范文大全
2014/01/13 职场文书
教育学习自我评价
2014/02/03 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
校园元旦活动总结
2014/07/09 职场文书
党员志愿者活动方案
2014/08/28 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
医院感染管理制度
2015/08/05 职场文书
python 提取html文本的方法
2021/05/20 Python
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python