日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

js實現瀑布流布局(無限加載)

瀏覽:169日期:2024-04-03 13:55:40

本文實例為大家分享了js實現瀑布流布局的具體代碼,供大家參考,具體內容如下

1.實現瀑布流布局思路

準備好數據之后

. 綁定滾動事件. 判斷頁面是否到底(滾動的距離+可是區域的高度 == 最后一個元素的top). 加載新數據,渲染新頁面.重新執行瀑布流效果

2.代碼(更換圖片路徑之后可直接運行)

<!DOCTYPE html><html><head> <meta charset='UTF-8'> <title>Document</title> <style> .cont{margin: 0 auto;background: #ccc;position: relative;} .cont::after{content: '';display: block;clear: both;} .box{float: left;padding: 6px;} .imgbox{border: solid 1px black;padding: 6px;border-radius: 6px;} .imgbox img{width: 200px;display: block;} </style> <script src='http://www.b3g6.com/bcjs/data/data.js'></script> <script> // W1. 準備數據 // W2. 綁定滾動事件 // W3. 判斷頁面是否到底(滾動的距離+可是區域的高度 == 最后一個元素的top) // W4. 加載新數據,渲染新頁面 // W5. 重新執行瀑布流效果 onload = function(){ new Waterfall; } class Waterfall{ constructor(){ // 1.選擇元素 this.box = document.querySelectorAll('.box'); this.cont = document.querySelector('.cont'); this.clientH = document.documentElement.clientHeight; this.heightArr = []; // 2.補全布局 this.init(); this.addEvent(); } addEvent(){ var that = this; onscroll = function(){ var scrollT = document.documentElement.scrollTop; if(that.clientH + scrollT > that.scrollH-300){ that.render() } } } render(){ for(var i=0;i<data.length;i++){ var img = document.createElement('img') img.src = data[i].src; var imgbox = document.createElement('div') imgbox.className = 'imgbox'; var box = document.createElement('div') box.className = 'box'; imgbox.appendChild(img); box.appendChild(imgbox); this.cont.appendChild(box); } // 初始化所有 this.box = document.querySelectorAll('.box'); this.heightArr = []; // 重新渲染瀑布流結構 this.firstLine(); this.otherLine(); } init(){ // 計算一行最多能放幾個,再計算最大寬度 this.clientW = document.documentElement.clientWidth; this.boxW = this.box[0].offsetWidth; this.maxNum = parseInt(this.clientW / this.boxW) this.cont.style.width = this.boxW * this.maxNum + 'px'; // 3. 區分第一行 this.firstLine() // 4. 區分其他行 this.otherLine(); } firstLine(){ // 5. 獲取所有元素的高度,存起來 for(var i=0;i<this.maxNum;i++){ this.heightArr.push(this.box[i].offsetHeight); } } otherLine(){ for(var i=this.maxNum;i<this.box.length;i++){ // 6. 拿到第一行所有的高度 // console.log(this.heightArr) // 計算最小值和最小值的索引 // var min = getMin(this.heightArr); // var min = Math.min.apply(null,this.heightArr); var min = Math.min(...this.heightArr); var minIndex = this.heightArr.indexOf(min); // console.log(minIndex); // 7. 設置元素的定位 this.box[i].style.position = 'absolute'; // 8. 設置元素的top和left this.box[i].style.top = min + 'px'; this.box[i].style.left = minIndex * this.boxW + 'px'; // 9. 修改最小值 this.heightArr[minIndex] += this.box[i].offsetHeight; } this.scrollH = document.documentElement.scrollHeight; } } function getMin(arr){ // 先對數組進行截取(為了深拷貝) // 然后對截取出的新數組排序 // 找第0位 // 返回出去 return arr.slice(0).sort((a,b)=>a-b)[0]; } </script></head><body> <div class='cont'> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/4.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/2.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/3.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/5.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/1.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/6.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/7.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/8.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/9.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/10.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/4.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/2.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/3.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/5.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/1.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/6.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/7.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/8.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/9.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/10.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/4.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/2.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/3.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/5.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/1.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/6.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/7.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/8.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/9.jpg' alt=''> </div> </div> <div class='box'> <div class='imgbox'> <img src='http://www.b3g6.com/imgs/10.jpg' alt=''> </div> </div> </div></body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本va欧美va精品发布| 亚洲免费观看| 亚洲精品系列| 日产欧产美韩系列久久99| 日韩激情av在线| 老司机精品视频在线播放| 麻豆国产精品视频| 在线成人动漫av| 中文字幕乱码亚洲无线精品一区| 亚洲专区视频| 精品视频91| 玖玖玖国产精品| 精品一区电影| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 黄色不卡一区| 亚洲一二av| 久久久久蜜桃| 日韩激情中文字幕| 欧美aa在线观看| 国产精品a级| 国产欧美一区二区三区米奇| 精品日韩毛片| 亚洲精品国模| 国产模特精品视频久久久久| 国产精品美女在线观看直播 | 日本综合视频| 999国产精品| 精品三级在线观看视频| 国产日韩欧美高清免费| 精品中文一区| 中文字幕日韩高清在线| 欧美亚洲在线日韩| 99xxxx成人网| 精品国产aⅴ| 欧美日韩一区二区三区不卡视频| 午夜欧美在线| 欧美精品一区二区三区精品| 日本在线啊啊| 国产成人精品亚洲线观看| 久久99久久久精品欧美| 国产日韩1区| 日韩欧美高清一区二区三区| 日韩专区在线视频| 夜夜嗨一区二区| 久久福利毛片| 亚洲精品精选| 国产亚洲一级| 日韩精品一页| 国产高清亚洲| 日本一区二区免费高清| 欧美二三四区| 亚洲高清激情| 免费观看日韩电影| 青青草国产成人99久久| 国产精品最新自拍| 欧美成人精品午夜一区二区| 久久精品中文| 日本成人在线不卡视频| 麻豆精品91| 国产亚洲一区二区手机在线观看 | 亚洲福利国产| 一区二区三区网站| 成人午夜在线| 精品国产欧美| 超碰超碰人人人人精品| 亚洲神马久久| 国产在线观看www| 国产情侣一区| 在线一区视频| 免费精品国产的网站免费观看| 国产欧美一区二区三区米奇| 婷婷精品久久久久久久久久不卡| 欧美激情一区| 婷婷综合国产| 欧美黄色一区二区| 天使萌一区二区三区免费观看| 亚洲电影在线一区二区三区| 中文日韩欧美| 免费人成在线不卡| 综合激情在线| 日韩在线欧美| 国产精品久久久久久av公交车| 在线亚洲免费| 吉吉日韩欧美| 麻豆精品在线播放| 亚洲视频国产精品| 蜜臀91精品国产高清在线观看| 久久精品色播| 免费观看在线色综合| 99精品国产一区二区三区| 毛片不卡一区二区| 日韩二区三区在线观看| 午夜在线精品| 亚洲女同中文字幕| 日韩高清中文字幕一区二区| 美女视频黄免费的久久| 亚洲精品麻豆| 国产亚洲在线观看| 欧美肉体xxxx裸体137大胆| 久久精品一本| 国产精品久久久久毛片大屁完整版| 视频一区在线视频| 91精品二区| 黄毛片在线观看| 麻豆国产精品一区二区三区| 国产日韩视频| 日本午夜精品一区二区三区电影 | 国产精品黑丝在线播放| 国产精品夜夜夜| 日本午夜精品久久久久| 亚洲精品成人一区| 亚洲视频国产| 蜜桃视频一区二区三区在线观看| 999国产精品永久免费视频app| 成人亚洲一区| 国产成人精品免费视| 国精品产品一区| 久久精品国产99国产精品| 精品国产不卡| 91中文字幕精品永久在线| 国产一区二区三区国产精品| 久久精品毛片| 日韩a一区二区| 欧美aa一级| 婷婷激情图片久久| 一区二区亚洲精品| 亚洲欧美日韩国产一区| 国产亚洲在线| 一区在线免费观看| 美女国产一区| 亚洲v天堂v手机在线| 中国女人久久久| 亚洲一区导航| 日韩成人一级| 午夜精品影视国产一区在线麻豆| 亚洲精品美女91| 国产日产一区| 精品视频在线你懂得| 极品av在线| 欧美福利一区| 亚洲主播在线| 日本午夜精品一区二区三区电影 | 在线精品亚洲欧美日韩国产| 日本在线高清| 午夜久久久久| 综合五月婷婷| 欧美精品三级在线| 精品视频一区二区三区四区五区| 日韩一级网站| 亚洲日本在线观看视频| 啪啪亚洲精品| 国产成人精品亚洲线观看| 久久国产电影| 在线综合视频| 国产精品一区二区三区av| 久久电影tv| 老司机久久99久久精品播放免费| 青草国产精品| 欧美freesex黑人又粗又大| 99国产一区| 日本99精品| 在线中文字幕播放| 免费国产自线拍一欧美视频| 日本精品一区二区三区在线观看视频| 日韩二区在线观看| 国产精品久久久久久久久妇女| 亚洲国产专区校园欧美| 综合亚洲视频| 91麻豆精品激情在线观看最新 | 91精品福利观看| 国产黄大片在线观看| 中文日韩在线| 欧美精品97| 国产综合视频| 青草久久视频| 欧美成a人免费观看久久| 亚洲精品麻豆| 美女av在线免费看| 久久国产99| 国产精一区二区| 色老板在线视频一区二区| 亚洲免费专区| 蜜臀国产一区| 日本不卡高清视频| 亚洲精品一级二级| 97se亚洲| 999精品色在线播放| 日韩精彩视频在线观看| 精品一区二区三区免费看| av不卡在线| 日本黄色精品| 日韩精品免费一区二区夜夜嗨| 色一区二区三区| 91嫩草精品| 国产在线欧美| 国产精品22p| 热久久国产精品| 日韩毛片视频| 国产精品流白浆在线观看| 久久高清一区|