jq超简单的流式布局,代码简单,容易修改

简介: 1.看看效果吧! 2.html代码index.html Title ul{position: relative;padding: 0 -3px;list-style: none;width: 600px;margin: 0 auto} li{width: 33.
1.看看效果吧!

 

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({});
     })

  

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

 

个人博客 :很多好用的 npm 包 , 可以看看  https://gilea.cn/ 

相关文章
|
前端开发
css改input变输入框光标颜色demo效果示例(整理)
css改input变输入框光标颜色demo效果示例(整理)
|
4月前
|
JavaScript
如何对ElementUI、ElementPlus中的Tree树组件进行美化,如增加辅助线、替换展开收起图标、点击节点后文字高亮等效果?本文给你答案!
本文介绍了如何对ElementUI和ElementPlus的Tree树组件进行美化,包括增加辅助线、替换展开收起图标、点击节点后文字高亮等效果,并提供了详细的代码示例和实现效果。
726 0
如何对ElementUI、ElementPlus中的Tree树组件进行美化,如增加辅助线、替换展开收起图标、点击节点后文字高亮等效果?本文给你答案!
|
5月前
|
JSON JavaScript 数据格式
文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,Vue的配置在Vue3配置文件中的配置,是editor中的v-model绑定的值
文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,Vue的配置在Vue3配置文件中的配置,是editor中的v-model绑定的值
|
前端开发
jq书写点击换图
jq书写点击换图
59 0
|
JavaScript 定位技术
vue 里怎么使用 echarts 实现地图自动轮播功能、自定义 tooltip 悬浮位置提示、自定义 label 标签位置样式?
vue 里怎么使用 echarts 实现地图自动轮播功能、自定义 tooltip 悬浮位置提示、自定义 label 标签位置样式?
1038 0
vue 里怎么使用 echarts 实现地图自动轮播功能、自定义 tooltip 悬浮位置提示、自定义 label 标签位置样式?
|
JavaScript
(富文本常用)js遇到需要正则匹配来修改img标签+清除行内样式
(富文本常用)js遇到需要正则匹配来修改img标签+清除行内样式
473 0
|
前端开发 CDN
jq超级简易选项卡案例
jq超级简易选项卡案例
236 0
jq超级简易选项卡案例
|
前端开发
前端表格内嵌套el-image无法加载图片解决办法
前端表格内嵌套el-image无法加载图片解决办法
698 0
|
JSON 前端开发 JavaScript
小记录 单选框的注意点 html中字符串拼接 el-upload手动上传 表格跳转 v-for动态添加背景色 控制label标签于文本框之间的间距
小记录 单选框的注意点 html中字符串拼接 el-upload手动上传 表格跳转 v-for动态添加背景色 控制label标签于文本框之间的间距
|
Web App开发 JavaScript