jQuery图片延迟加载插件jQuery.lazyload

所属分类:UI-加载

 433860  633  查看评论 (127)
jQuery图片延迟加载插件jQuery.lazyload ie兼容6

使用方法

引用jquery和jquery.lazyload.js到你的页面

<script src="jquery-1.11.0.min.js"></script>
<script src="jquery.lazyload.js?v=1.9.1"></script>

html图片调用方法

为图片加入样式lazy  图片路径引用方法用data-original

<img class="lazy" data-original="img/bmw_m1_hood.jpg">
<img class="lazy" data-original="img/bmw_m1_side.jpg">
<img class="lazy" data-original="img/viper_1.jpg">
<img class="lazy" data-original="img/viper_corner.jpg">
<img class="lazy" data-original="img/bmw_m3_gt.jpg">
<img class="lazy" data-original="img/corvette_pitstop.jpg">

js出始化lazyload并设置图片显示方式

<script type="text/javascript" charset="utf-8">
  $(function() {
      $("img.lazy").lazyload({effect: "fadeIn"});
  });
</script>

在图片中也可以不使用 class="lazy",初始化时使用:

$("img").lazyload({effect: "fadeIn"});

这样就可以对全局的图片都有效!

=======以下代码由 聆锾沐雨 提供=========

如果想提载入图片,可以使用 threshold 进行设置,

$("img.lazy").lazyload({ threshold :180});

以上实例的含义是:在图片距离屏幕180px时提前载入:

    

========以下内容由 ?D丶мемοяy 提供===============

引入

<script src="jquery-1.11.0.min.js"></script>
<script src="jquery.lazyload.js?v=1.9.1"></script>

路径依据实际目录来确定。

<script type="text/javascript" charset="utf-8">
  $(function() {
      $("img.lazy").lazyload({effect: "fadeIn"});
  });
</script>

图片引用lazyload 方式

<img class="lazy" data-original="img/bmw_m1_hood.jpg"  />

参数设置

$("img.lazy").lazyload({
  placeholder : "img/grey.gif", //用图片提前占位
    // placeholder,值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏
  effect: "fadeIn", // 载入使用何种效果
    // effect(特效),值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn
  threshold: 200, // 提前开始加载
    // threshold,值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉
  event: 'click',  // 事件触发时才加载
    // event,值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加载,后两个值未测试…
  container: $("#container"),  // 对某容器中的图片实现效果
    // container,值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片
  failurelimit : 10 // 图片排序混乱时
     // failurelimit,值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题.
});
相关插件-加载

JS简单进度条

再也不愁JS进度条了
  加载
 12280  53

圆形进度按钮

执行按钮提交创建圆形进度加载提示
  加载
 9775  111

精美进度条

色彩绚丽的进度条,代码简单,动画感强
  加载
 17001  83
  加载
 12853  70

讨论这个项目(127)回答他人问题或分享插件使用方法奖励jQ币

    小丑大过王, 0
    2018/7/16 17:29:54
    张远强-成都世纪东方 0
    2018/6/6 11:27:16
    为什么我要按下F10或者F11才会显示后面的加载图片
        张远强-成都世纪东方0
        2018/6/6 11:57:26
        我知道原因了,这个插件起始滚动只是针对的浏览器最外层自带的滚动条,而自己布局的滚动条是不会触发该效果,那么,问题来了,怎么让自己滚动条支持加载呢?、
        龙小J0
        2018/6/22 17:06:20
        找到你的定时器就知道放代码再哪里了
    回复
    张远强-成都世纪东方 0
    2018/6/6 11:11:30
    为什么我滚动后的图没有效果,就进入的第一个页面有显示,滚动后图片不显示 回复
    0
    2018/5/7 9:09:01
    带有tab切换的为什么就没有效果了? 回复
    A网站建设-全网赢销-齐R 0
    2018/4/19 11:41:29
    毛不凡 0
    2018/3/4 15:34:55
    null 0
    2018/2/28 17:00:47
     placeholder不显示图片,怎么回事?
    回复
    pupunew 0
    2018/1/19 10:06:31

    非常感著使用方式?的好??!

    回复
    . 0
    2017/12/29 11:55:56

    这个如何和knockout结合使用

        .0
        2017/12/29 11:58:40

        found a solution after google search, please use "https://github.com/seantimm/Knockout.LazyLoad"

        .0
        2017/12/29 12:11:11

        Also see : https://stackoverflow.com/questions/20483627/lazyload-images-with-knockout-jquery

    回复
    YSY 0
    2017/12/13 11:16:24

    刚进入页面的时候没加载 在滚动的情况才加载,咋回事。

        0
        2018/3/29 11:16:51
        我也遇到相同的问题,只需要给图片添加宽高就好了
        伊?兮°0
        2018/4/7 16:08:55
        如果添加高度的话,那岂不是不能图片自适应了?
        西瓜0
        2018/6/6 11:41:01
        只设定宽度为100%,这样不就自适应了。
        -FaIr0
        2018/7/2 15:55:27
        @西瓜 那高度呢?
    回复
取消回复