Heim  >  Artikel  >  Web-Frontend  >  Supereinfache Implementierungsmethode für das Wasserfall-Flow-Layout

Supereinfache Implementierungsmethode für das Wasserfall-Flow-Layout

小云云
小云云Original
2018-01-23 09:28:421949Durchsuche

In diesem Artikel wird hauptsächlich ein Beispiel für die Implementierung eines supereinfachen Wasserfall-Flow-Layouts durch JQuery vorgestellt. Der Code ist einfach und leicht zu ändern. Werfen wir einen Blick mit dem folgenden Editor. Ich hoffe, er kann allen helfen.

1. Schauen Sie sich die Wirkung an!

2.html Code 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. Plug-in-Code


(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. Aufrufcode


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

Der Code ist einfach und leicht zu ändern, verwenden Sie ihn einfach.

Verwandte Empfehlungen:

Detaillierte Erläuterung des Wasserfall-Flusslayouts von jQuery Masonry

JS-Implementierung eines Beispiels für ein Wasserfall-Flusslayout

JS-Implementierung einer Beispielanalyse für das Wasserfall-Flusslayout

Teilen von Videomaterial zum Wasserfall-Flusslayout

Verwendung von JavaScript zur Realisierung Wirkung des Wasserfall-Flow-Layout-Codes


Das obige ist der detaillierte Inhalt vonSupereinfache Implementierungsmethode für das Wasserfall-Flow-Layout. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn