web前端性能优化(二)--图片的延迟加载

网站性能优化:

1、尽量减少向服务器端请求的次数"减少HTTP请求"

2、css/js文件进行合并

3、ICON图片进行合并->雪碧图/css script

4、图片的延迟加载

5、数据的异步加载

6、在移动端,如果做的是一个简单的宣传页,尽量的把css和js写成内嵌式

Javascript的图片的延迟加载

1)对于首屏内容中的图片:首先给对应的区域一张默认图片占着位置(默认图片需要非常小,一般可以维持在5kb以内),当首屏内容都加载完成后(或者也可以给一个延迟时间),再开始加载真实图片

2)对于其他屏中的图片:也是给一张默认的图片占位,当滚动条滚动到对应区域的时候,我们再开始加载真实的图片

扩展:数据的异步加载:开始只把前两屏的数据加载绑定出来,后面的数据不进行处理,当页面滚动到对应区域的时候,在重新请求数据,然后绑定渲染数据

首先让img标签中的src为空,让imgdisplay:none;在外面的p上的背景图上面绑定一个背景图片,然后等页面加载完毕之后,在进行加载图片;

使用定时器或者window.onload事件,然后把获取到的url地址绑定到元素img标签上的src上;但是,如果获取的真实图片地址是错误的src地址时,不仅控制台会报错,而且页面会出现碎图/叉子图,影响视觉,以下为处理事件


1
2
3
4
5
6
7
8
9
10
11
12
13
var  oImg =  new  Image;  //创建一个临时的img标签
 
oImg.src = 真实的img的src地址
 
oImg.onload= function (){  //-> 当图片能够正常加载
 
  img.src =  this .src;
 
  img.syule.disolay =  'block'
 
  oImg =  null //释放空标签
 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值