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 动态改变图片大小
Jun 11 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
easyui messager alert 三秒后自动关闭提示的实例
Nov 07 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
Nov 24 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
BootStrap 标题设置跨行无效的解决方法
Oct 25 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
Sep 14 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
Mar 27 Javascript
vue-socket.io接收不到数据问题的解决方法
May 13 Javascript
vue-cli4使用全局less文件中的变量配置操作
Oct 21 Javascript
vue实现锚点定位功能
Jun 29 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使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
JS 面向对象的5钟写法
2009/07/31 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
npm的lock机制解析
2019/06/20 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Python发送http请求解析返回json的实例
2018/03/26 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
使用python制作一个解压缩软件
2019/11/13 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
技校教师求职简历的自我评价
2013/10/20 职场文书
网络工程专业毕业生推荐信
2013/10/28 职场文书
问卷调查计划书
2014/01/10 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
《乌塔》教学反思
2014/02/17 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
检举信的格式及范文
2014/04/04 职场文书
服装发布会策划方案
2014/05/22 职场文书
年终奖发放方案
2014/06/02 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
民主评议党员个人总结
2015/02/13 职场文书
个人专业技术总结
2015/03/05 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers