• 瀑布流 无限加载。步骤详细。耐看


    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
    *{position: relative;}
    #box{margin: 0 auto;}
    img{ 200px;display:block;box-shadow: 2px 2px 2px #999999;position: absolute;}
    </style>
    <script type="text/javascript">
    window.onload = function(){
    let box = document.getElementById('box');
    let aimg = box.children;

    let pageW = document.body.offsetWidth;
    let imgW = aimg[0].offsetWidth;

    let col = parseInt(pageW/imgW);

    let imgML = 8;


    function waterFall(){
    aimg = box.children;
    let lineH =[];

    Array.from(aimg).forEach((img,key)=>{
    if(key < col){
    img.style.left = (imgW + imgML)*key +'px';
    lineH.push(img.offsetHeight)
    }else{
    let minHeight = lineH[0];
    let minIndex = 0;
    lineH.forEach((v,k)=>{
    if(minHeight > v){
    minHeight = v;
    minIndex = k
    }
    })

    img.style.left = aimg[minIndex].offsetLeft +'px';
    img.style.top = minHeight + 'px';
    lineH[minIndex]= minHeight + img.offsetHeight

    }
    })
    }
    waterFall()
    window.onscroll = function(){
    let cliH = clientObj.getHeight() +stObj.getTop();
    let countH = aimg[aimg.length -1].offsetTop;
    var imgDatas = [
    './si/1.jpg','./si/2.jpg','./si/3.jpg','./si/4.jpg',
    './si/5.jpg','./si/6.jpg','./si/7.jpg','./si/8.jpg',
    './si/9.jpg','./si/10.jpg','./si/11.jpg','./si/12.jpg',
    './si/16.jpg','./si/15.jpg','./si/14.jpg','./si/13.jpg',
    './si/17.jpg','./si/18.jpg','./si/6.jpg','./si/9.jpg',
    './si/13.jpg','./si/10.jpg'
    ];
    if(countH < cliH){
    let imgStr = '';
    imgDatas.forEach((v)=>{
    imgStr += `<img src =${v}></img>`
    })
    box.innerHTML += imgStr
    waterFall();
    }
    }

    }
    //获取窗口的宽度和高度
    var clientObj = {
    getHeight(){
    return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
    },
    getWidth(){
    return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    }
    }
    // 获取滚动条的高度
    var stObj = {
    getTop() {
    return window.pageYOffset || document.body.scrollTop
    }
    }
    </script>
    </head>
    <body>
    <div id="box">
    <img src="./si/1.jpg" >
    <img src="./si/2.jpg" >
    <img src="./si/3.jpg" >
    <img src="./si/4.jpg" >
    <img src="./si/5.jpg" >
    <img src="./si/6.jpg" >
    <img src="./si/7.jpg" >
    <img src="./si/8.jpg" >
    <img src="./si/9.jpg" >
    <img src="./si/10.jpg" >
    <img src="./si/11.jpg" >
    <img src="./si/12.jpg" >
    <img src="./si/13.jpg" >
    <img src="./si/14.jpg" >
    <img src="./si/15.jpg" >
    <img src="./si/16.jpg" >
    <img src="./si/17.jpg" >
    <img src="./si/18.jpg" >
    <img src="./si/1.jpg" >
    <img src="./si/2.jpg" >
    <img src="./si/3.jpg" >
    <img src="./si/4.jpg" >
    <img src="./si/5.jpg" >
    <img src="./si/6.jpg" >
    <img src="./si/7.jpg" >
    <img src="./si/8.jpg" >
    <img src="./si/9.jpg" >
    <img src="./si/10.jpg" >
    <img src="./si/11.jpg" >
    <img src="./si/12.jpg" >
    <img src="./si/13.jpg" >
    <img src="./si/14.jpg" >
    <img src="./si/15.jpg" >
    <img src="./si/16.jpg" >
    <img src="./si/17.jpg" >
    <img src="./si/18.jpg" >
    </div>
    </body>
    </html>

  • 相关阅读:
    Linux中增加组和用户
    Storm重启topology,失败
    ES读写数据的工作原理
    Hive优化
    Flink提交流程和架构
    Flink中的Time与Window
    linux 中文件夹的文件按照时间倒序或者升序排列
    ElasticSearch之配置文件详解
    redis中的设置bind绑定ip不是设置白名单
    YARN调度架构中的AppMaster
  • 原文地址:https://www.cnblogs.com/CH-cnblogs/p/13526821.html
Copyright © 2020-2023  润新知