国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

原生JS實(shí)現(xiàn)的簡(jiǎn)單“瀑布流”布局

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

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

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

效果預(yù)覽: http://www.seejs.com/waterfall/   

標(biāo)簽: <無>
 
[代碼] [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、內(nèi)部瀑布流</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
【編輯推薦】

 

責(zé)任編輯:張偉 來源: 開源中國(guó)社區(qū)
相關(guān)推薦

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

開發(fā)瀑布流組件

2015-05-07 15:13:22

JS實(shí)現(xiàn)JQueryJQuery

2012-06-15 09:35:42

JavaScript

2024-03-19 08:15:09

云原生云計(jì)算容器

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標(biāo)簽

2009-04-10 09:43:00

Java輸出流異常

2021-08-05 18:38:14

青云科技云原生容器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩av影片在线观看| 亚洲欧洲精品一区| 午夜激情电影在线播放| 色噜噜久久综合| 成人福利免费网站| 欧美激情自拍偷拍| 国产高清www| 激情六月婷婷综合| 亚洲三级一区| 久久国产毛片| 久久精品综合一区| 亚洲三级视频| 精品国产乱码久久久久| 91精品啪aⅴ在线观看国产| 高清一区二区| 色妞欧美日韩在线| 欧美精品日日操| av毛片久久久久**hd| 久久亚洲国产精品成人av秋霞| 中文在线а√在线8| 欧美成人一区二区三区在线观看| 美女写真理伦片在线看| 欧美嫩在线观看| aⅴ在线视频男人的天堂| 在线观看一区二区视频| 你懂的在线视频| 色婷婷综合激情| 午夜激情在线观看| 7777精品伊人久久久大香线蕉最新版 | 久久先锋影音av鲁色资源网| av免费看网址| 97se亚洲国产综合在线| 白嫩少妇丰满一区二区| 国产精品免费人成网站| 色老板视频在线观看| 岛国视频午夜一区免费在线观看| 北岛玲一区二区三区| 日韩小视频在线观看专区| av资源在线| 国产亚洲a∨片在线观看| 台湾佬中文娱乐久久久| 欧美大尺度激情区在线播放| 美女少妇全过程你懂的久久 | 亚洲成人自拍网| 浪潮av一区| 国产午夜精品一区理论片飘花| 成人福利一区| 色婷婷精品久久二区二区蜜臀av| 成人在线二区| 亚洲精品中文字幕女同| 四虎国产精品免费久久5151| 国产成人91久久精品| 欧美黄色一级视频| 日韩视频 中文字幕| 亚洲精品五月天| 99自拍视频在线观看| 久久精品国产久精国产一老狼| 欧美人与牛zoz0性行为| 亚洲成人精品电影在线观看| 国产精品乱人伦| 黄视频网站在线| 久久久www成人免费精品张筱雨| 一呦二呦三呦国产精品| 日本一区二区三区视频免费看 | 精品午夜视频| 欧美日韩一级黄| 草草在线观看| 91国在线精品国内播放| 亚洲精选成人| 国产91色在线观看| 欧美一区二区免费视频| 美女视频亚洲色图| 亚洲午夜激情| 欧美日韩国产精品| 91成人在线网站| 国产在线视频欧美一区二区三区| 国产午夜亚洲精品理论片色戒| 黄av在线播放| 国产成人一区二区在线| 国产一区二区不卡在线| 免费在线黄色网址| 欧美劲爆第一页| 麻豆国产91在线播放| 免费毛片一区二区三区久久久| 91麻豆免费观看| 色呦呦在线看| 国产情人节一区| 久久久久久亚洲综合影院红桃| 成人在线视频亚洲| 国产日韩在线播放| 国产日韩精品一区二区浪潮av | 亚洲午夜在线视频| free欧美| 日本不卡在线观看| 一区二区三区中文免费| 日韩影片中文字幕| 精品一区二区三区日本| 亚洲综合一二三区| 国模大尺度视频一区二区| 亚洲国内在线| 欧美日韩国产在线观看| 国产精品三级| 色婷婷亚洲十月十月色天| 在线成人一区二区| 日本不卡视频一二三区| 淫片在线观看| 99re在线国产| 五月天亚洲婷婷| 蜜臀在线观看| 久久91亚洲精品中文字幕| 91亚洲精品在看在线观看高清| 久久精品magnetxturnbtih| 亚洲国产精品一区二区尤物区| 在线精品国产亚洲| 精品国产一二三四区| 四虎精品在线观看| 91精品国产91久久久久青草| 日韩av午夜在线观看| 国产区视频在线| 91精品啪aⅴ在线观看国产| 麻豆中文一区二区| 亚洲精品久久久久久一区二区| 亚洲v中文字幕| 极品尤物久久久av免费看| 久久久久久久久久久9不雅视频| 草美女在线观看| 午夜电影福利| 国产精品亚洲综合| 国产日本欧美一区| 久久久久久高潮国产精品视| 日韩精品视频免费专区在线播放| 国产一区二区在线电影| 欧美激情一级片一区二区| 久久r热视频| 国产精品久久久久久久久免费丝袜 | 欧美体内谢she精2性欧美| 久久九九电影| 日韩和欧美一区二区| 日韩激情在线| 国产成人一二片| 一根才成人网| av电影高清在线观看| 成人午夜在线视频一区| 四虎一区二区| 97国产精东麻豆人妻电影| 污视频在线免费观看一区二区三区 | 亚洲欧美在线磁力| 8x拔播拔播x8国产精品| 久久久精品免费| 91久久精品一区二区| 综合久久一区| 国产综合一区二区| 不卡的av电影| 免费成人美女在线观看| 欧美久久久久| jlzzjlzz亚洲女人| 激情文学一区| 精品一区二区三区欧美| 国产精品一区二区你懂的| 国产精品77777竹菊影视小说| 777久久久精品一区二区三区| 91成人天堂久久成人| 555www色欧美视频| 欧美激情免费在线| 亚洲japanese制服美女| 亚洲精品一卡二卡三卡四卡| 91免费看片网站| 青青青国产精品一区二区| 午夜精品视频在线| 99er在线视频| caoporn国产精品免费视频| 狠狠色伊人亚洲综合网站l| 国产乱子伦三级在线播放| 欧美成人免费全部网站| 影音先锋久久| 亚洲一级淫片| 成人黄色综合网站| 欧美特级限制片免费在线观看| 亚洲国产一区自拍| 久久伊人中文字幕| 日本高清不卡中文字幕| 国产综合色香蕉精品| 欧美成人激情免费网| 91露出在线| 美国av一区二区三区| 国产亚洲一区二区在线| 亚洲一区中文在线| 久久综合网络一区二区| 国产精品视频一区视频二区| 亚洲字幕成人中文在线观看| 日本一区二区免费高清视频| 51精品在线观看| 九九热播视频在线精品6| 人成福利视频在线观看| 久久涩涩网站| 久久久久久网址| 欧美精品一区二区三区视频| 亚洲少妇屁股交4| 国产一区福利在线| 欧美精品一线|