延迟加载插件:jquery Unveil

来源:互联网 发布:金融大数据平台架构 编辑:程序博客网 时间:2024/06/05 21:55

1.可视化窗口以外的图片不会被加载,直到用户滚动到他们所在的区域。

2.引入jquery

<script src="js/jquery1.12.4.min.js"></script>

引入Unveil

<script src="js/jquery.unveil.js"></script>

3.给需要懒加载的元素绑定事件

$(function() {
            // 页面滚动到距离图片-100位置就开始加载,如图片在1000px,则滚动页面到900时开始加载图片,可以为负数
            $(".unveil-img").unveil(100);
});

4.动画懒记载

<!doctype html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        li { height: 1270px; }
        img {
            opacity: 0;
            -webkit-transition: all 1s;
                    transition: all 1s;
            -webkit-transform: translate3d(500px, 0, 0);
                    transform: translate3d(500px, 0, 0);
        }
        img.active {
            opacity: 1;
            -webkit-transform: translate3d(0, 0, 0);
                    transform: translate3d(0, 0, 0);
        }
    </style>
</head>
<body>
    <ul>
        <li><img class="unveil-img" data-src="images/bg_01.png"></li>
        <li><img class="unveil-img" data-src="images/bg_02.png"></li>
        <li><img class="unveil-img" data-src="images/bg_03.png"></li>
        <li><img class="unveil-img" data-src="images/bg_04.png"></li>
        <li><img class="unveil-img" data-src="images/bg_05.png"></li>
    </ul>
    <script src="js/jquery1.12.4.min.js"></script>
    <script src="js/jquery.unveil.js"></script>
    <script>
        $(function() {
            $(".unveil-img").unveil(0, function() {
                $(this).load(function() {
                    // 图片加载完成给这张图片加上 .active 类,通过这个类来控制动画过渡
                    this.classList.add('active');
                });
            });
        });
    </script>
</body>
</html>