• 懒加载示例


    代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            *{
                margin:0;
                padding:0;
            }
            ul,ul li{
                list-style:none;
            }
            #list{
                width:1200px;
                margin:0 auto;
                display:flex;
                flex-wrap:wrap;
            }
            #list li{
                width:350px;
                height:310px;
                border:1px solid #000;
                margin:20px;
            }
            #list li img{
                width:100%;
                height:100%;
            }
        </style>
    </head>
    <body>
        <ul id="list">
            <li><img abc="images/1.jpg" alt=""></li>
            <li><img abc="images/2.jpg" alt=""></li>
            <li><img abc="images/3.jpg" alt=""></li>
            <li><img abc="images/4.jpg" alt=""></li>
            <li><img abc="images/5.jpg" alt=""></li>
            <li><img abc="images/6.jpg" alt=""></li>
            <li><img abc="images/7.jpg" alt=""></li>
            <li><img abc="images/8.jpg" alt=""></li>
            <li><img abc="images/9.jpg" alt=""></li>
            <li><img abc="images/1.jpg" alt=""></li>
            <li><img abc="images/2.jpg" alt=""></li>
            <li><img abc="images/3.jpg" alt=""></li>
            <li><img abc="images/4.jpg" alt=""></li>
            <li><img abc="images/5.jpg" alt=""></li>
            <li><img abc="images/6.jpg" alt=""></li>
            <li><img abc="images/7.jpg" alt=""></li>
            <li><img abc="images/8.jpg" alt=""></li>
            <li><img abc="images/9.jpg" alt=""></li>
        </ul>
    
    
        <script>
            /*
                1.图片路径放在非src属性中 【能阻止加载图片】
                2.加载可视区部分,获取 刚才放有图片路径的属性值
                3.再将可视区部分的img设置成刚才获取的图片路径
            */
            var imgs = document.getElementsByTagName('img');  // 获取所有图片
            var pageHeight = document.documentElement.clientHeight;  // 浏览器可视高度  【固定】
    
            window.onscroll = lazyLoad;
    
            function lazyLoad(){  // 窗口滚动事件
                for(var i=0;i<imgs.length;i++){   // 每一张图片距离顶部距离是固定的 不会发生改变 【固定】
                    // 用浏览器可视高与页面卷去的高度之和 与 每一张图片距离顶部距离做比较,如果 高度之和大于等于 某一张图片的高度,就显示该图片
                    if(pageHeight+ document.documentElement.scrollTop >= imgs[i].offsetTop){
                        imgs[i].src = imgs[i].getAttribute('abc');  // 获取满足条件图片的abc属性,将其值赋给图片的src属性
                    }
                }
            }
            lazyLoad();
        </script>
    </body>
    </html>

    效果

  • 相关阅读:
    skywalking服务端部署的一些坑
    升级jenkins war包后的问题处理
    无法从cdn上下载节目表问题处理
    jenkins构建状态及参数传递
    vSphereClient克隆虚拟机后网络设置
    升级jenkins war包后的一些想法
    Redis模糊删除Key
    php 0531
    php 0530
    php 0520
  • 原文地址:https://www.cnblogs.com/shihaiying/p/13275779.html
Copyright © 2020-2023  润新知