jq图片懒加载

  在图片比较多的页面中,如果一次性把所有的图片全部加载出来,不仅加载速度慢,还会对服务器造成不小的压力,也浪费了带宽(不是每个用户都会从头至尾看完所有页面内容),那么在图片比较多的情况下,我们就可以采取图片懒加载的形式来解决这个问题。

jq中有一个lazyload.js的插件,方便好用,下面简单的介绍一下这个插件的用法

  1.lazyload.js是依赖于jq的,所以在使用lazyload插件的时候,必须先引入jq,然后再引入lazyload的这个js  

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

      2.在使用这个插件的时候,img标签的src必须改变成data-original才可以,给img标签取了一个lazy的名字,方便后面给img标签绑定事件,同时,需要给img标签加宽和高的属性才能使懒加载正常运行,不加的话,懒加载是无效的

    .lazy{ 100%;height:800px;border:none;}

    <img data-original="imgs/1.jpg" alt="" class="lazy">

   3.使img标签懒加载,只需加以下代码

    $(function() {

       $("img.lazy").lazyload();  //叫lazy这个名字的img标签就都被懒加载了
    })
   4.可以根据自己的需求来设置怎么触发加载,比如,点击的时候进行加载,也可以使用自定义事件。怎么通过事件让图片加载呢,看下面的代码:
    $("img.lazy").lazyload({
      event : "click"    //只有在点击的时候才会被加载
    });
   5.使用特效,比如,图片淡入效果,代码如下
    $("img.lazy").lazyload({
      effect : "fadeIn"
    });
    6.插件默认是有占位符的,这个占位符我们也可以给它隐藏掉,只需要以下css代码就可以实现
    .lazy {
      displaynone;
    }
    7.加载隐藏的图片,可能在你的页面上埋藏可很多隐藏的图片. 比如插件用在对列表的筛选, 你可以不断地修改列表中各条目的显示状态. 为了提升性能, Lazy Load 默认忽略了隐藏图片. 如果你想要加载隐藏图片, 请将 skip_invisible 设为 false
    $("img.lazy").lazyload({
      skip_invisible : false
    });
原文地址:https://www.cnblogs.com/xiaofang-FE/p/6732616.html