Javascript之图片的延迟加载的实例详解


Posted in Javascript onJuly 24, 2017

Javascript之图片的延迟加载的实例详解

作用:保证页面打开的速度(3s之内打不开页面,就已经算是死亡页面了)

原理:

    1)对于首屏内容中的图片:首先给对应的区域一张默认图片占着位置(默认图片需要非常小,一般可以维持在5kb以内),当首屏内容都加载完成后(或者也可以给一个延迟时间),再开始加载真实图片

    2)对于其他屏中的图片:也是给一张默认的图片占位,当滚动条滚动到对应区域的时候,我们再开始加载真实的图片

    扩展:数据的异步加载:开始只把前两屏的数据加载绑定出来,后面的数据不进行处理,当页面滚动到对应区域的时候,在重新请求数据,然后绑定渲染数据

首先让img标签中的src为空,让imgdisplay:none;在外面的div上的背景图上面绑定一个背景图片,然后等页面加载完毕之后,在进行加载图片;

使用定时器或者window.onload事件,然后把获取到的url地址绑定到元素img标签上的src上;但是,如果获取的真实图片地址是错误的src地址时,不仅控制台会报错,而且页面会出现碎图/叉子图,影响视觉,以下为处理事件

var oImg = new Image; //创建一个临时的img标签

 oImg.src = 真实的img的src地址

 oImg.onload=function(){ //-> 当图片能够正常加载

  img.src = this.src;

  img.syule.disolay = 'block';

  oImg = null; //释放空标签

 }

网站性能优化:

1、尽量减少向服务器端请求的次数"减少HTTP请求"

2、css/js文件进行合并

3、ICON图片进行合并->雪碧图/css script

4、图片的延迟加载

5、数据的异步加载

6、在移动端,我国做的是一个简单的宣传页,尽量的把css和js写成内嵌式

以上就是Javascript之图片的延迟加载的讲解,如有疑问请留言或者到本站社区交流讨论,共同进步,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
js获取checkbox复选框选中的选项实例
Aug 24 Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 Javascript
Jquery时间轴特效(三种不同类型)
Nov 02 Javascript
jquery实现下拉框多选方法介绍
Jan 03 Javascript
node使用UEditor富文本编辑器的方法实例
Jul 11 Javascript
vue服务端渲染的实例代码
Aug 28 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
Dec 15 Javascript
vue webpack实用技巧总结
Apr 24 Javascript
vue与原生app的对接交互的方法(混合开发)
Nov 28 Javascript
通过循环优化 JavaScript 程序
Jun 24 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 Javascript
在React中如何优雅的处理事件响应详解
Jul 24 #Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
Jul 24 #Javascript
想用好React的你必须要知道的一些事情
Jul 24 #Javascript
利用node.js实现反向代理的方法详解
Jul 24 #Javascript
Vue2 Vue-cli中使用Typescript的配置详解
Jul 24 #Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 #Javascript
JavaScript对JSON数据进行排序和搜索
Jul 24 #Javascript
You might like
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
React中的render何时执行过程
2018/04/13 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
Python 通过pip安装Django详细介绍
2017/04/28 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
两年的个人工作自我评价
2014/01/10 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
小学语文业务学习材料
2014/06/02 职场文书
学校运动会霸气口号
2014/06/07 职场文书
欢度春节标语
2014/07/01 职场文书
工作自我推荐信范文
2015/03/25 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android