doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:4094回复:0

[javascript]【DOM练习】图片懒加载

楼主#
更多 发布于:2023-02-05 21:50
效果:

图片:55.png




代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        ul li{
            list-style-type: none;
        }
        ul li img{
            height: 300px;
            width: 300px;
        }
        ul li{
            float:left;
            margin: 20px;
            border: 1px solid red;
        }
        ul{
            overflow: hidden;
        }
    </style>
</head>
<body>
    <div id="list">
        <ul>
               <li><img  data-src ="image/1.jpg" alt=""></li>
               <li><img  data-src ="image/2.jpg"  alt=""></li>
               <li><img  data-src ="image/3.jpg"  alt=""></li>
               <li><img  data-src ="image/4.jpg"  alt=""></li>
               <li><img  data-src ="image/5.jpg"  alt=""></li>
               <li><img  data-src ="image/6.jpg"  alt=""></li>
               <li><img  data-src ="image/7.jpg"  alt=""></li>
               <li><img  data-src ="image/8.jpg"  alt=""></li>
               <li><img  data-src ="image/9.jpg"  alt=""></li>
               <li><img  data-src ="image/10.jpg"  alt=""></li>
        </ul>   
    </div>
    <script type="text/javascript">
        var imgArr = document.querySelectorAll("#list ul li img");
        window.onload = loadImage;
       window.onresize = loadImage;
         //  data- 开头的自定义属性是H5的技术
        document.onscroll = loadImage;
        function loadImage(){
            console.log("12");
            var clientHeight =document.documentElement.clientHeight; //显示区域的高度
            var scrollTop = document.documentElement.scrollTop; //获取滚动条的top值
            for(var i=0;i<imgArr.length;i++){
                if(imgArr<i>.src){
                    continue;
                }
                // 获取图片到顶站距离
                var imgTop = imgArr<i>.offsetTop; 
                if(imgTop < scrollTop + clientHeight){  //需要显示图片
                    var src = imgArr<i>.getAttribute("data-src");
                    imgArr<i>.setAttribute("src",src);
                }
            }
        }
    </script>
</body>
</html></i></i></i></i>


视频地址:
https://www.bilibili.com/video/BV1p44y1g7b1/
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号