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中的History历史对象
Jan 16 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
Oct 27 Javascript
Javascript 入门基础学习
Mar 10 Javascript
jQuery中not()方法用法实例
Jan 06 Javascript
javascript的 {} 语句块详解
Feb 27 Javascript
BootStrap Typeahead自动补全插件实例代码
Aug 10 Javascript
Angular 4.x 动态创建表单实例
Apr 25 Javascript
react-native 完整实现登录功能的示例代码
Sep 11 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
JavaScript实现的九种排序算法
Mar 04 Javascript
富文本编辑器vue2-editor实现全屏功能
May 26 Javascript
Postman内建变量常用方法实例解析
Jul 28 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
php中用文本文件做数据库的实现方法
2008/03/27 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
vue实现折线图 可按时间查询
2020/08/21 Javascript
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
对python的输出和输出格式详解
2018/12/08 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
10个顶级Python实用库推荐
2021/03/04 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
初三开学计划书
2014/04/27 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
党员个人剖析材料
2014/09/30 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android