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 相关文章推荐
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
jquery选择器-根据多个属性选择示例代码
Oct 21 Javascript
javascript函数中参数传递问题示例探讨
Jul 31 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
Mar 03 Javascript
jQuery+HTML5美女瀑布流布局实现方法
Sep 21 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
Apr 26 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 Javascript
vue父组件向子组件传递多个数据的实例
Mar 01 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 Javascript
Layui给switch添加响应事件的例子
Sep 03 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
我常用的几个类
2006/10/09 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
javascript基础知识
2016/06/07 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
详解Puppeteer 入门教程
2018/05/09 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
python实现随机加减法生成器
2020/02/24 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
最新教师自我评价分享
2013/11/12 职场文书
运动会领导邀请函
2014/01/10 职场文书
大学生见习报告范文
2014/11/03 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
Java 在生活中的 10 大应用
2021/11/02 Java/Android
asyncio异步编程之Task对象详解
2022/03/13 Python
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android