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 相关文章推荐
让低版本浏览器支持input的placeholder属性(js方法)
Apr 03 Javascript
node.js中使用node-schedule实现定时任务实例
Jun 03 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
Sep 19 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
微信小程序中post方法与get方法的封装
Sep 26 Javascript
webpack多页面开发实践
Dec 18 Javascript
详解jenkins自动化部署vue
May 14 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
Jul 23 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 Javascript
基于layui框架响应式布局的一些使用详解
Sep 16 Javascript
js String.prototype.trim字符去前后空格的扩展
Aug 23 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+Html+缓存
2006/11/25 PHP
php检测图片木马多进制编程实践
2013/04/11 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
Chrome Web App开发小结
2014/09/04 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
php中上传文件的的解决方案
2018/09/25 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
python中偏函数partial用法实例分析
2015/07/08 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
工作表扬信范文
2015/01/17 职场文书
营业员岗位职责范本
2015/04/14 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js