zoukankan      html  css  js  c++  java
  • 图片延迟加载

    图片延迟加载

    jQuery插件:jQuery.lazyload

     

    $(function(){
        $('img.lazy').lazyload({
            //container: $('.product-list'),   // 对指定标签对象内的图片实现效果,表示在此标签中滚动时,触发加载(注意:如果容器未设置height和overfload:auto,那么会默认加载所有图片)
            threshold: 100,                    //当图片顶部距离显示区域还有100像素时,就开始加载
            placeholder : "img/grey.gif",      // 图片未加载时,占位
            effect: "slideDown",               // 图片出现的效果,值有show(直接显示),fadeIn(淡入),slideDown(下拉)
            effect_speed: 1000,                // 效果出现的时间
            event: 'scroll',                   // 滚动滚轮时触发,可以是:click、mouseover等
            data_attribute: 'original',        // img标签中保存url的自定义属性,默认:data-original
            skip_invisible: true,              // 是否跳过已经隐藏的图片(display:none)
            failure_limit: 2,                  // 由于延迟加载是根据Dom从上到下执行
                                               // 如果遇到Dom位置在上,但是图片定位在下导致看不到,那么会以为之后的图片不在应用延迟加载
                                               // 此处的failure_limit用于限制如果出现N个【Dom位置在上,但是图片定位在下】才终止
            appear: function(){                // 当图片位置刚出现在视图时,触发此事件
                $(this).attr('src');
            },
            load: function(){                  // 当图片路径加载之后,触发此事件
                $(this).attr('src');
            }
     
        });
    })

     

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            body{
                margin: 0 auto;
            }
            .pg-header{
                height: 48px;
                background-color: #3b5998;
            }
            .w{
                width: 980px;
                margin: 0 auto;
            }
            .clearfix:after{
                clear: both;
                content: '.';
                visibility: hidden;
                height: 0;
                display: block;
            }
            .product-list .item{
                float: left;
                height: 240px;
                width: 184px;
                overflow: hidden;
                border: 1px solid red;
                padding: 5px;
            }
            .product-list .item .lazy{
    
                height: 200px;
                width: 184px;
            }
        </style>
    </head>
    <body>
        <div class="pg-header"></div>
        <div class="pg-body">
            <div class="w">
                <div class="product-list clearfix">
                    <div class="item">
                        <img class="lazy" data-original="img/1.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/2.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/3.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/4.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/5.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/6.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/7.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/8.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/9.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/10.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/11.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/12.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/13.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/14.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/15.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/16.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/17.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/1.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/2.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/3.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/4.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/5.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/6.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/7.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/8.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/9.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/10.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/11.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/12.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/13.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/14.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/15.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/16.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/17.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/1.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/2.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/3.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/4.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/5.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/6.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/7.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/8.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/9.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/10.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/11.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/12.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/13.png"/>
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/14.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/15.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/16.png" />
                    </div>
                    <div class="item">
                        <img class="lazy" data-original="img/17.png" />
                    </div>
    
                </div>
            </div>
            </div>
        <div class="pg-footer"></div>
    
        <script src="js/jquery-1.12.4.js"></script>
        <script src="js/jquery.lazyload.js"></script>
        <script>
            $(function(){
                $('img.lazy').lazyload({
                    //container: $('.product-list'),   // 对指定标签对象内的图片实现效果,表示在此标签中滚动时,触发加载(注意:如果容器未设置height和overfload:auto,那么会默认加载所有图片)
                    threshold: 100,                    //当图片顶部距离显示区域还有100像素时,就开始加载
                    placeholder : "img/grey.gif",      // 图片未加载时,占位
                    effect: "slideDown",               // 图片出现的效果,值有show(直接显示),fadeIn(淡入),slideDown(下拉)
                    effect_speed: 1000,                // 效果出现的时间
                    event: 'scroll',                   // 滚动滚轮时触发,可以是:click、mouseover等
                    data_attribute: 'original',        // img标签中保存url的自定义属性,默认:data-original
                    skip_invisible: true,              // 是否跳过已经隐藏的图片(display:none)
                    failure_limit: 2,                  // 由于延迟加载是根据Dom从上到下执行
                                                       // 如果遇到Dom位置在上,但是图片定位在下导致看不到,那么会以为之后的图片不在应用延迟加载
                                                       // 此处的failure_limit用于限制如果出现N个【Dom位置在上,但是图片定位在下】才终止
                    appear: function(){                // 当图片位置刚出现在视图时,触发此事件
                        $(this).attr('src');
                    },
                    load: function(){                  // 当图片路径加载之后,触发此事件
                        $(this).attr('src');
                    }
    
                });
            })
        </script>
    </body>
    </html>

     

  • 相关阅读:
    LeetCode 230. 二叉搜索树中第K小的元素(Kth Smallest Element in a BST)
    LeetCode 216. 组合总和 III(Combination Sum III)
    LeetCode 179. 最大数(Largest Number)
    LeetCode 199. 二叉树的右视图(Binary Tree Right Side View)
    LeetCode 114. 二叉树展开为链表(Flatten Binary Tree to Linked List)
    LeetCode 106. 从中序与后序遍历序列构造二叉树(Construct Binary Tree from Inorder and Postorder Traversal)
    指针变量、普通变量、内存和地址的全面对比
    MiZ702学习笔记8——让MiZ702变身PC的方法
    你可能不知道的,定义,声明,初始化
    原创zynq文章整理(MiZ702教程+例程)
  • 原文地址:https://www.cnblogs.com/programmer-tlh/p/5815534.html
Copyright © 2011-2022 走看看