美文网首页前端开发那些事儿
前端原生的图片懒加载实现方式

前端原生的图片懒加载实现方式

作者: Amanda妍 | 来源:发表于2021-01-13 16:05 被阅读0次

前端中实现图片懒加载,一次性加载所有资源容易造成网页性能变差,用户体验比较差,所以我们一般需要前端请求出来的数据进行处理,图片先显示可视区域的一部分,然后滚动部分按需加载。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<style>

    * {

        margin: 0;

        padding: 0;

        list-style: none;

        box-sizing: border-box;

    }

    h1 {

        text-align: center;

    }

    .box {

        width: 100%;

    }

    .box ul {

        width: 100%;

        display: flex;

        justify-content: space-between;

        flex-wrap: wrap;

    }

    .box ul li {

        width: 50%;

        text-align: center;

    }

    .box ul li img {

        display: block;

        margin: 0 auto 20px;

        width: 180px;

        height: 300px;

    }

    .box ul li p {

        font-size: 16px;

        padding-bottom: 20px;

    }

</style>

<body>

    <div class="box">

        <h1>图片懒加载</h1>

        <ul>

        </ul>

    </div>

</body>

</html>

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

<!-- 图片懒加载 -->

<script src="https://cdn.bootcdn.net/ajax/libs/jquery_lazyload/1.9.7/jquery.lazyload.js"></script>

<script>

    $.ajax({

        url: 'https://api.it120.cc/small4/shop/goods/list',

        type: 'get',

        dataType: 'json',

        success: function (res) {

            console.log(res.data);

            $.each(res.data, function (index, item) {

                $('.box ul').append(`<li><img data-original="${item.pic}" src="./loading.gif" alt="">

                <p>${item.name}</p></li>`)

                //我们来说明几点:

                //1.data-original="" 这个属性是规定好的必须要用original定义不能随便写哈,不然不起作用;

                //2.data-original="这里写真实路径"  而src="这里可以写一个loading图片,也可以不写"

            })

$('.box ul li img').lazyload(); //这个lazyload()方法很重要别忘了加

        },

        error: function (err) {

            console.log(err)

        }

    })

</script>

相关文章

网友评论

    本文标题:前端原生的图片懒加载实现方式

    本文链接:https://www.haomeiwen.com/subject/ygauaktx.html