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 相关文章推荐
javascript radio 联动效果
Mar 04 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 Javascript
控制台报错object is not a function的解决方法
Aug 24 Javascript
JavaScript实现数字数组按照倒序排列的方法
Apr 06 Javascript
全系IE支持Bootstrap的解决方法
Oct 19 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
jquery validate表单验证的基本用法入门
Jan 18 Javascript
Vue.js双向绑定操作技巧(初级入门)
Dec 27 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
Mar 01 Javascript
使用classList来实现两个按钮样式的切换方法
Jan 24 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 Javascript
Vue多选列表组件深入详解
Mar 02 Vue.js
在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
PHP个人网站架设连环讲(二)
2006/10/09 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
前端微信支付js代码
2016/07/25 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
Python设计模式之抽象工厂模式
2016/08/25 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
Python中字符串List按照长度排序
2019/07/01 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
linux面试题参考答案(9)
2015/01/07 面试题
毕业生求职的求职信
2013/12/05 职场文书
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
青年文明号创建承诺
2014/03/31 职场文书
政府个人对照检查材料
2014/08/28 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers