博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端插件实现图片懒加载
阅读量:6971 次
发布时间:2019-06-27

本文共 1488 字,大约阅读时间需要 4 分钟。

一、echo.js:

  我们在开发页面的时候肯定会遇到图片比较多的时候,虽然我们可能有图片分布式的服务器,但是在客户端还是会有很大的性能开销。为了用户体验,特别是对首屏加载速度要求很高的,通常我们会考虑图片延时加载,lazyloading这款插件已经能很好地实现这一功能,可是是基于jQuery,对于移动端可能不太实用。一个非常简单实用叫echo的插件,3k左右特别适合移动端使用。步骤如下:

1、在页面中需要引入echo.css和echo.min.js

2、对需要进行延迟加载的图片采用如下写法:

3、对插件进行初始化:

echo.init({  offset:1,        //离可视区域多少像素的图片可以被加载  throttle:1      //图片延迟多少毫秒加载});

  说明:blank.gif是一张背景图片,包含在插件里了。图片的宽高必须设定,当然,可以使用外部样式对多张图片统一控制大小。

  data-echo指向的是真正的图片地址。非常简单,这样的话图片只有出现在视野内时才会加载,减少了页面的渲染工作量。

二、jquery.lazyload.js:

  将页面里所有img属性src属性用data-xx代替,当页面滚动直至此图片出现在可视区域时,用js取到该图片的data-xx的值赋给src。

测试懒加载图片
require.config({    baseUrl : "/static",    paths: {        jquery:'component/jquery/jquery-3.1.0.min'        jqueryLazyload: 'component/lazyLoad/jquery.lazyload',//图片懒加载    },    shim: {        jqueryLazyload: {            deps: ['jquery'],            exports: '$'        }    }});
require(    [        'jquery',        'jqueryLazyload'    ],     function($){        $(document).ready(function() {                 $("img.lazy-load").lazyload({         effect : "fadeIn", //渐现,show(直接显示),fadeIn(淡入),slideDown(下拉)        threshold : 180, //预加载,在图片距离屏幕180px时提前载入        event: 'click',  // 事件触发时才加载,click(点击),mouseover(鼠标划过),sporty(运动的),默认为scroll(滑动)        container: $("#container"), // 指定对某容器中的图片实现效果        failure_limit:2 //加载2张可见区域外的图片,lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载, 但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况      });     });  });

  为了代码可读性,属性值我都写好了注释。值得注意的是预制图片属性为data-original,并且最好是给予初始高宽占位,以免影响布局。

 

转载地址:http://ziasl.baihongyu.com/

你可能感兴趣的文章
selected_related和prefetch_related
查看>>
Java Web项目中解决中文乱码方法总结
查看>>
Java路程
查看>>
docker network基础
查看>>
Android蓝牙栈bluez使用方法
查看>>
软件安装
查看>>
go for select
查看>>
关于DOM的一些基础问题
查看>>
为EasyUI 的Tab 标签添加右键菜单
查看>>
JavaScript中清空数组的三种方式
查看>>
http://jqweui.com/
查看>>
C#中反射的使用(How to use reflect in CSharp)(2)
查看>>
maven扫盲
查看>>
FPGA笔试必会知识点2—FPGA器件
查看>>
github使用技巧
查看>>
js基本类型存放和对象存放的区别(对象遍历)
查看>>
转载 数据库设计E-R图
查看>>
利用Pandas和matplotlib分析我爱我家房租区间频率
查看>>
动态DP之全局平衡二叉树
查看>>
Scrapy下xpath基本的使用方法
查看>>