首頁  >  文章  >  web前端  >  超簡單的瀑布流佈局實作方法

超簡單的瀑布流佈局實作方法

小云云
小云云原創
2018-01-23 09:28:421951瀏覽

本文主要介紹了jquery實作超簡單的瀑布流佈局的實例,程式碼簡單,容易修改。下面跟著小編一起來看吧,希望能幫助大家。

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(&#39;.flowLayout-box&#39;).width()-2*ops.gapWidth)/3)
 var _pWidth=_this.parents(&#39;.flowLayout-box&#39;).width();
 $(".flowLayout-box").css({
 &#39;opacity&#39;: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({
 &#39;top&#39;:columnHeight[columnIndex]+ops.gapHeight+&#39;px&#39;,
 &#39;left&#39;:_pWidth*columnIndex/3+&#39;px&#39;
 })
 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({
 &#39;opacity&#39;:1,
 &#39;height&#39;:maxHeight
 });
 return columnIndex;
 }
 }
 })(jQuery); 

4.呼叫程式碼


$(function () {
 $(&#39;.flowLayout-box li&#39;).flowLayout({});
 })

程式碼簡單,容易修改,,拿去用。

相關推薦:

jQuery Masonry瀑布流佈局詳解

#JS實作瀑布流佈局實例

##JS實作瀑布流佈局的實例分析

瀑布流佈局視訊資料分享

利用JavaScript實現瀑布流佈局的效果程式碼


以上是超簡單的瀑布流佈局實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn