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全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 Javascript
js 操作符汇总
Nov 08 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
获取input标签的所有属性的方法
Jun 28 Javascript
如何从零开始利用js手写一个Promise库详解
Apr 19 Javascript
在vue中使用express-mock搭建mock服务的方法
Nov 07 Javascript
加快Vue项目的开发速度的方法
Dec 12 Javascript
VuePress 静态网站生成方法步骤
Feb 14 Javascript
js中offset,client , scroll 三大元素知识点总结
Sep 11 Javascript
javascript实现点击产生随机图形
Jan 25 Javascript
vue-router路由懒加载及实现的3种方式
Feb 28 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
PHP 常见郁闷问题答解
2006/11/25 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
Python实现删除文件但保留指定文件
2015/06/21 Python
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
详解Python:面向对象编程
2019/04/10 Python
int在python中的含义以及用法
2019/06/27 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
幼师自我鉴定
2014/02/01 职场文书
四下基层实施方案
2014/03/28 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
2014年冬季防火方案
2014/05/21 职场文书
承诺书模板大全
2015/05/04 职场文书
python实现自动化群控的步骤
2021/04/11 Python