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>

     

  • 相关阅读:
    【基础】Attribute的妙用
    【翻译】.Net Core的意义
    【基础】迭代器详解
    【总结】数据库索引的实现原理
    【实践】基于接口的插件机制
    【总结】设计模式应用之单例模式
    【基础】多线程更新窗体UI的若干方法
    【基础】MVC路由规则
    Mybatis 分页:Pagehelper + 拦截器实现
    这四种对象属性拷贝方式,你都知道吗?
  • 原文地址:https://www.cnblogs.com/programmer-tlh/p/5815534.html
Copyright © 2011-2022 走看看