精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

原生JS實現的簡單“瀑布流”布局

開發 前端
自己動手弄了段原生JS代碼,實現了簡單的“瀑布流”布局效果,當然肯定不能和以上那些優秀插件相提并論,有興趣的朋友,可以去看看,希望能帶給你或多或少的收獲。

自pinterest網站爆紅以來,國內一度掀起“仿PIN”狂潮,諸如花瓣、蘑菇街等等。正是如此,“瀑布流”式布局受到廣大網民的青睞。眾多知名JS庫,也相繼出現“瀑布流”布局插件,譬如jQuery的Masonry插件、KISSY的waterfall插件等。

今天閑來無聊,我也自己動手弄了段原生JS代碼,實現了簡單的“瀑布流”布局效果,當然肯定不能和以上那些優秀插件相提并論,有興趣的朋友,可以去看看,希望能帶給你或多或少的收獲。

效果預覽: http://www.seejs.com/waterfall/   

標簽: <無>
 
[代碼] [JavaScript]代碼
 
  1. <!DOCTYPE html>    
  2.  <html>    
  3.  <head>    
  4.      <meta charset="utf-8">    
  5.      <title>Waterfall代碼</title>    
  6.  </head>    
  7.  <body>    
  8.  <style type="text/css">    
  9.  .wf-main{    
  10.      position: relative;    
  11.      margin: 0 auto;    
  12.      width: 990px;    
  13.      overflow: hidden;    
  14.  }    
  15.  .wf-main .wf-cld{    
  16.      position: absolute;    
  17.      margin-bottom: 10px;    
  18.      padding:5px 8px;    
  19.      width: 214px;    
  20.      left: -9999px;    
  21.      top: -9999px;    
  22.      border: 1px solid #999;    
  23.      border-radius: 4px;    
  24.      background-color: #ccc;    
  25.      overflow: hidden;    
  26.  }    
  27.  .wf-cld .inner{    
  28.      position: absolute;    
  29.      left: -9999px;    
  30.      top: -9999px;    
  31.      margin-bottom: 5px;    
  32.      width: 73px;    
  33.      overflow: hidden;    
  34.      border: 1px solid #f00;    
  35.      border-radius: 3px;    
  36.  }    
  37.  .wf-cld .title{    
  38.      margin: 0 0 5px;    
  39.      padding: 5px;    
  40.      width: 63px;    
  41.      color: #f00;    
  42.      font-size: 14px;    
  43.  }    
  44.  </style>    
  45.  <div class="wf-main" id="wf-main">    
  46.      <div class="wf-cld"><h2 style="color:#f50">1、瀑布流</h2></div>    
  47.      <div class="wf-cld">2<br>2</div>    
  48.      <div class="wf-cld">3<br>4<br>4</div>    
  49.      <div class="wf-cld">4<br>4<br>4<br>4</div>    
  50.      <div class="wf-cld">5<br>4<br>4<br>4<br>4</div>    
  51.      <div class="wf-cld">6<br>4<br>4<br>4<br>4<br>4</div>    
  52.      <div class="wf-cld">7<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  53.      <div class="wf-cld">8<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  54.      <div class="wf-cld">9<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  55.      <div class="wf-cld">10<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  56.      <div class="wf-cld">18<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  57.      <div class="wf-cld">19<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  58.      <div class="wf-cld">20<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  59.      <div class="wf-cld" id="wf-inner">    
  60.          <h2 class="inner title">21、內部瀑布流</h2>    
  61.          <div class="inner">21-1<br>1</div>    
  62.          <div class="inner">21-2</div>    
  63.          <div class="inner">21-3</div>    
  64.          <div class="inner">21-4</div>    
  65.          <div class="inner">21-5<br></div>    
  66.          <div class="inner">21-6</div>    
  67.          <div class="inner">21-7</div>    
  68.          <div class="inner">21-8</div>    
  69.          <div class="inner">21-9</div>    
  70.      </div>    
  71.      <div class="wf-cld">22<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  72.      <div class="wf-cld">23<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  73.      <div class="wf-cld">24<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  74.      <div class="wf-cld">11<br>2<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  75.      <div class="wf-cld">12<br>2<br>2<br>3<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  76.      <div class="wf-cld">13<br>4<br>4<br>3<br>3<br>1<br>2<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  77.      <div class="wf-cld">14<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  78.      <div class="wf-cld">15<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  79.      <div class="wf-cld">16<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  80.      <div class="wf-cld">17<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4<br>4</div>    
  81.  </div>    
  82.  <script type="text/javascript">    
  83.  function Waterfall(param){    
  84.      this.id = typeof param.container == 'string' ? document.getElementById(param.container) : param.container;    
  85.      this.colWidth = param.colWidth;    
  86.      this.colCount = param.colCount || 4;    
  87.      this.cls = param.cls && param.cls != '' ? param.cls : 'wf-cld';    
  88.      this.init();    
  89.  }    
  90.  Waterfall.prototype = {    
  91.      getByClass:function(cls,p){    
  92.          var arr = [],reg = new RegExp("(^|\\s+)" + cls + "(\\s+|$)","g");    
  93.          var nodes = p.getElementsByTagName("*"),len = nodes.length;    
  94.          for(var i = 0; i < len; i++){    
  95.              if(reg.test(nodes[i].className)){    
  96.                  arr.push(nodes[i]);    
  97.                  reg.lastIndex = 0;    
  98.              }    
  99.          }    
  100.          return arr;    
  101.      },    
  102.      maxArr:function(arr){    
  103.          var len = arr.length,temp = arr[0];    
  104.          for(var ii= 1; ii < len; ii++){    
  105.              if(temp < arr[ii]){    
  106.                  temp = arr[ii];    
  107.              }    
  108.          }    
  109.          return temp;    
  110.      },    
  111.      getMar:function(node){    
  112.          var dis = 0;    
  113.          if(node.currentStyle){    
  114.              dis = parseInt(node.currentStyle.marginBottom);    
  115.          }else if(document.defaultView){    
  116.              dis = parseInt(document.defaultView.getComputedStyle(node,null).marginBottom);    
  117.          }    
  118.          return dis;    
  119.      },    
  120.      getMinCol:function(arr){    
  121.          var ca = arr,cl = ca.length,temp = ca[0],minc = 0;    
  122.          for(var ci = 0; ci < cl; ci++){    
  123.              if(temp > ca[ci]){    
  124.                  temp = ca[ci];    
  125.                  minc = ci;    
  126.              }    
  127.          }    
  128.          return minc;    
  129.      },    
  130.      init:function(){    
  131.          var _this = this;    
  132.          var col = [],//列高    
  133.              iArr = [];//索引    
  134.          var nodes = _this.getByClass(_this.cls,_this.id),len = nodes.length;    
  135.          for(var i = 0; i < _this.colCount; i++){    
  136.              col[i] = 0;    
  137.          }    
  138.          for(var i = 0; i < len; i++){    
  139.              nodes[i].h = nodes[i].offsetHeight + _this.getMar(nodes[i]);    
  140.              iArr[i] = i;    
  141.          }                
  142.          for(var i = 0; i < len; i++){    
  143.              var ming = _this.getMinCol(col);    
  144.              nodes[i].style.left = ming * _this.colWidth + "px";    
  145.              nodes[i].style.top = col[ming] + "px";    
  146.              col[ming] += nodes[i].h;    
  147.          }    
  148.               
  149.          _this.id.style.height = _this.maxArr(col) + "px";    
  150.      }    
  151.  };    
  152.  new Waterfall({    
  153.      "container":"wf-inner",    
  154.      "colWidth":77,    
  155.      "colCount":3,    
  156.      "cls":"inner"   
  157.  
  158.  });    
  159.  new Waterfall({    
  160.      "container":"wf-main",    
  161.      "colWidth":244,    
  162.      "colCount":4    
  163.  
  164.  });    
  165.  
  166.  </script>    
  167.  
  168.  </body>    
  169.  
  170.  </html>   
  171.  
[圖片] 瀑布流.jpg
【編輯推薦】

 

責任編輯:張偉 來源: 開源中國社區
相關推薦

2024-08-19 14:01:00

2025-07-29 00:00:00

2013-02-19 10:24:47

瀑布流布局CSS

2024-09-03 17:04:15

前端算法布局

2021-08-09 07:26:33

瀑布流布局代碼

2015-02-26 18:09:29

WaterFall V瀑布流Dynamic Gri

2015-02-02 16:21:26

android瀑布流圖片加載

2020-06-15 18:00:36

transformbannerJavascript

2022-04-14 15:53:12

開發瀑布流組件

2015-05-07 15:13:22

JS實現JQueryJQuery

2012-06-15 09:35:42

JavaScript

2024-03-19 08:15:09

云原生云計算容器

2013-04-03 15:45:51

Android瀑布流android_wat

2009-09-24 13:12:20

Hibernate原生

2022-04-06 18:29:58

CSSJS輸入框

2021-02-11 13:56:21

JSweb插件

2021-12-03 07:27:30

全景瀏覽Three.js

2010-08-24 10:11:26

DIV標簽

2009-04-10 09:43:00

Java輸出流異常

2021-08-05 18:38:14

青云科技云原生容器
點贊
收藏

51CTO技術棧公眾號

中文字幕一区在线观看视频| 日本中文字幕一区二区视频| 亚洲第一二三四五区| 丰满少妇大力进入| 国产在线91| 国产一区免费电影| 91超碰中文字幕久久精品| 国产小视频自拍| 日韩视频一区二区三区四区| 精品久久久久久久久久久久久| 日韩精品欧美专区| 超碰免费在线97| 久久狠狠一本精品综合网| 日韩中文字幕不卡视频| 亚洲精品久久一区二区三区777| 国产免费不卡| 亚洲精品视频在线| 日本免费一区二区三区| av中文字幕在线免费观看| 99精品国产一区二区青青牛奶| 亚洲丝袜在线视频| 国产大尺度视频| 国产黄色在线观看| 久久久国产精品麻豆| 5566中文字幕一区二区| 欧美亚洲另类小说| 在线播放精品| 久久手机免费视频| 91久久免费视频| 国产劲爆久久| 欧美一区二区在线视频| 黄色片视频在线播放| 欧美人与禽性xxxxx杂性| 欧美激情一区二区在线| 国产专区一区二区三区| 国产男女裸体做爰爽爽| 秋霞电影一区二区| 欧美在线视频观看| 国产亚洲第一页| 午夜影院欧美| 国产亚洲欧美aaaa| av网站免费在线播放| 成人自拍在线| 日韩美女视频一区二区在线观看| 在线观看岛国av| 欧美日韩女优| 欧美在线短视频| 国产aaa一级片| 日本在线啊啊| 午夜精品爽啪视频| avav在线播放| 午夜小视频在线观看| 亚洲欧美经典视频| 日本不卡一区二区三区四区| porn视频在线观看| 国产欧美日韩卡一| 欧美人xxxxx| 国产乱子伦三级在线播放| 91麻豆成人久久精品二区三区| 国产精品日韩欧美一区二区三区 | 极品中文字幕一区| 色综合久久天天综线观看| 欧美一级片在线视频| 图片区亚洲欧美小说区| 久久国内精品一国内精品| 亚洲精品自拍视频在线观看| 欧美wwwww| 美日韩在线视频| 欧美成人一区二区三区高清| 欧美日韩日本国产亚洲在线 | 国产suv精品一区二区三区| 91中文在线视频| 亚洲高清精品视频| 91在线小视频| 亚洲 国产 日韩 综合一区| 91亚洲精选| 亚洲三级在线看| 人人妻人人澡人人爽欧美一区双 | 99精品电影| 另类视频在线观看| 国产一级淫片免费| 性色一区二区| 91久久综合亚洲鲁鲁五月天| 亚洲成人第一区| 久久综合视频网| 亚洲精品永久www嫩草| 97超碰资源站在线观看| 亚洲午夜av在线| avav在线看| 99久久99九九99九九九| 精品国产精品网麻豆系列| 日韩av一二区| 午夜久久免费观看| 国语自产精品视频在线看| 久久久久久在线观看| 美女视频黄久久| 国产精品一区免费观看| a视频网址在线观看| 伊人色综合久久天天人手人婷| 极品美女扒开粉嫩小泬| www成人在线视频| 欧美一级欧美一级在线播放| 亚洲久久久久久| 久久综合国产| 69视频在线免费观看| 一级特黄aaa大片| 91在线观看视频| 国产成人精品免费看在线播放| 91丝袜在线| 欧美日韩成人高清| 一级特黄a大片免费| 91视频综合| 日韩美女视频在线观看| 国产高清免费在线观看| 欧美激情在线一区二区| 91好吊色国产欧美日韩在线| 电影91久久久| 亚洲图片制服诱惑| 精品一区二区三区四| 久88久久88久久久| 欧美一区亚洲二区| av福利导福航大全在线| 777xxx欧美| 亚洲综合欧美综合| 亚洲人体大胆视频| 91中文字精品一区二区| 在线看的av网站| 一本久久a久久免费精品不卡| 国产精品果冻传媒| 欧美影视一区| 成人激情av在线| 成在在线免费视频| 欧美午夜xxx| 国产麻豆xxxvideo实拍| 午夜久久一区| 91久久国产综合久久蜜月精品 | 久久99精品久久久久久园产越南| 欧美国产中文字幕| 99riav国产| 中文字幕综合网| 五月天av在线播放| 欧美日韩国产在线观看网站 | 无码人妻久久一区二区三区不卡| 成人aa视频在线观看| 人妻无码一区二区三区四区| 国产激情综合| 久久成人精品一区二区三区| 亚洲影院一区二区三区| 国产精品午夜免费| 日韩爱爱小视频| 日韩在线综合| 91香蕉亚洲精品| 国产在线观看a| 4438成人网| 欧美色图亚洲视频| 国产精品77777| 青青草视频国产| 东京久久高清| 奇门遁甲1982国语版免费观看高清 | 欧美大陆一区二区| 高清不卡av| 自拍偷拍免费精品| 国产麻豆免费观看| 一个色综合网站| aa片在线观看视频在线播放| 国产精品久久久久9999高清| 欧美主播一区二区三区美女 久久精品人| 精品91久久| 中文字幕亚洲综合久久| 国产区精品在线| 同产精品九九九| 日本乱子伦xxxx| 精品一区二区三区免费视频| 喜爱夜蒲2在线| 欧美黑白配在线| 国产精品美女主播| 成a人片在线观看| 亚洲第一国产精品| 国模私拍一区二区| 亚洲精品你懂的| 欧美性受xxxxxx黑人xyx性爽| 中文字幕一区二区三区久久网站| 99在线热播| 玛雅亚洲电影| 久久网福利资源网站| 特黄aaaaaaaaa真人毛片| 色狠狠桃花综合| 动漫性做爰视频| 26uuu亚洲| √天堂资源在线| 国产精品视频久久一区| 亚洲国产精品视频一区| 白嫩白嫩国产精品| 国产精品福利观看| heyzo在线播放| 最近2019中文免费高清视频观看www99 | 色欲AV无码精品一区二区久久| 九色porny丨国产精品| 玩弄中年熟妇正在播放| 成人免费看片39| 国产一区精品视频| 欧美午夜三级| 人人做人人澡人人爽欧美| 亚洲夜夜综合| 日韩中文字幕在线视频| 天堂资源最新在线| 91精选在线观看| 超碰在线免费97| 午夜成人免费电影| 青青草手机在线视频| 久久精品这里都是精品| 四季av综合网站| 国产乱色国产精品免费视频| 丁香婷婷激情网| 99精品国产在热久久婷婷| 50度灰在线观看| 图片小说视频色综合| 视频一区不卡| 免费短视频成人日韩| 国产乱码精品一区二区三区不卡| 欧美aaaaaa| 国产精品日日做人人爱 | 国产精品欧美日韩久久| 欧亚av在线| 久久久久久久色| 中文字幕伦理免费在线视频 | 亚洲一二三四五六区| 91蝌蚪porny九色| 中文字幕在线永久| 国产91精品精华液一区二区三区 | 久久精品偷拍视频| 日韩欧美在线观看| 天堂网av手机版| 婷婷六月综合亚洲| 国产精品7777777| 亚洲国产精品自拍| 国产一级做a爰片在线看免费| 亚洲欧美色一区| 国产精品三区在线观看| 日韩一区日韩二区| 性欧美疯狂猛交69hd| 国产精品不卡一区| 天堂网中文在线观看| 国产精品剧情在线亚洲| 中文人妻一区二区三区| 久久影视一区二区| 一道本在线观看| 国产午夜精品一区二区三区四区 | 免费av网站观看| 精品久久久久久久久久久久包黑料 | 在线观看不卡一区| 国产视频1区2区| 欧洲精品一区二区三区在线观看| 亚洲大尺度在线观看| 日本丰满少妇一区二区三区| 久草视频在线免费| 7878成人国产在线观看| 精品国自产拍在线观看| 精品成a人在线观看| 日韩在线视频第一页| 亚洲精品第一页| 黄网在线观看| 日韩有码在线观看| 性欧美ⅴideo另类hd| 97精品国产97久久久久久| 亚洲校园激情春色| 国产精品视频地址| 懂色av色香蕉一区二区蜜桃| 国产99视频精品免费视频36| 九九视频免费观看视频精品 | a天堂中文字幕| 国产精品网站在线观看| 国产精品三区在线观看| 精品日韩美女的视频高清| japanese国产在线观看| 欧美日本在线视频| 国产 日韩 欧美 综合| 亚洲美女视频网站| 欧美天天影院| 久久久久久久久久久免费 | 亚洲精品护士| 黄色三级视频片| 国产精品综合视频| www.超碰97| 亚洲色图视频网站| 欧美日韩乱国产| 欧美一区二区三区色| 天堂中文字幕在线| 久久精品一本久久99精品| sqte在线播放| 国产视频观看一区| 激情亚洲另类图片区小说区| 亚洲欧美国产精品桃花| 狠狠88综合久久久久综合网| 精品久久久久久久无码| 国产成人精品亚洲午夜麻豆| 免费人成又黄又爽又色| 亚洲综合999| 中文字幕视频免费观看| 欧美mv日韩mv| 99reav在线| 欧美有码在线观看视频| 日韩欧洲国产| 中文字幕av日韩精品| 性8sex亚洲区入口| 麻豆免费在线观看视频| 国产精品美女久久久久久久久久久| 久久久久久久久久久网| 欧美视频一区二区三区在线观看 | 精品国产麻豆| 日韩精品一区二区三区丰满| 亚洲国内精品| 日本女人黄色片| 国产精品美女视频| 亚洲 欧美 中文字幕| 亚洲国产中文字幕久久网| 国产人成网在线播放va免费| 国产www精品| 香蕉久久精品| 免费av手机在线观看| 国产精品亚洲午夜一区二区三区 | 欧美日韩国产小视频在线观看| 天堂а在线中文在线无限看推荐| 久久97精品久久久久久久不卡| 91精品国产经典在线观看| 欧美精品v日韩精品v国产精品| 亚洲第一网站| 99久久久无码国产精品性波多| 亚洲色图视频网站| 宇都宫紫苑在线播放| 五月天婷婷激情网| 久久精品视频va| 巨大黑人极品videos精品| 欧美极品日韩| 久久xxxx| 一区二区视频观看| 亚洲国产日韩精品| 性生交大片免费看女人按摩| 另类美女黄大片| 国产精品一区二区三区av| 手机成人av在线| 韩国欧美国产1区| 男人的午夜天堂| 91精品国产综合久久香蕉麻豆| 欧美成人三区| 亚洲一区二区在线| 国产精品观看| 免费啪视频在线观看| 亚洲国产一二三| 天堂中文在线官网| 欧美一级视频在线观看| 亚洲电影男人天堂| 免费观看成人在线视频| 亚洲国产成人在线| 91福利在线观看视频| 久久精品国产亚洲7777| 久久一级大片| 免费国产黄色网址| 97超碰欧美中文字幕| 黄色一级视频免费看| 这里只有精品在线播放| 9999精品免费视频| www.激情网| 成人精品视频一区| 香蕉影院在线观看| 尤物99国产成人精品视频| 国产精品欧美一区二区三区不卡| 特级西西444| 99re8在线精品视频免费播放| 免费视频网站在线观看入口| www.欧美精品| 第四色中文综合网| 91淫黄看大片| 一区二区免费视频| 男男激情在线| 91中文字幕在线| 久久国产免费| 欧美日韩在线观看免费| 日韩电视剧免费观看网站| 成人精品电影在线| 日本天堂免费a| 国产亚洲综合在线| 国产成人av免费看| 国产91精品最新在线播放| 五月久久久综合一区二区小说| 97中文字幕在线观看| 欧美性生交片4| 国产蜜臀在线| 亚洲欧美丝袜| 91视频一区二区| 国产露脸国语对白在线| 欧美一级视频一区二区| 伊人色**天天综合婷婷| 国产麻豆天美果冻无码视频 | 亚洲av无码片一区二区三区| 欧美一级大片在线免费观看| 亚洲精品a级片| 国产精品无码久久久久久| 欧美一级xxx| 国产黄色精品|