您现在的位置是: 网站首页> 前端技术> jQuery jQuery

jQuery.lazyload插件实现图片懒加载

Smile 2019-09-11 17:52:56 HTML jQuery 阅读:2131

简介在开发视频网站或者商城这类图片亮较多的网站时,发现打开页面加载页面图片时非常非常的慢,超时加载失败不显示图片给用户体验非常的差,同时对服务器的压力也比较大,后通过jQuery.lazyload插件实现懒加载解决了这问题

1、下载jQuery.lazyload插件js文件

下载链接

2、或者直接加载远程cdn文件链接,因为这个插件依赖jQuery,所以也要引入

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/jquery_lazyload/1.9.7/jquery.lazyload.min.js"></script>

3、为图片img标签加入lazy样式,图片路径引用方法用data-original

<img class="lazy" src="img/loading.gif" data-original="img/1.jpg" width="100%">
<img class="lazy" src="img/loading.gif" data-original="img/2.jpg" width="100%">
<img class="lazy" src="img/loading.gif" data-original="img/3.jpg" width="100%">
<img class="lazy" src="img/loading.gif" data-original="img/4.jpg" width="100%">

4、初始化lazyload并设置插件相应的一些参数

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

5、其中给img标签加的lazy可以修改成别的,例如修改为lazyload

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

6、也可以不给img加样式,这样默认就是对所有的img进行懒加载

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

插件参数说明:

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

很赞哦! (0)

文章评论

站点信息