超简单直观理解懒加载(Lazyload)

懒加载

什么是懒加载懒加载的作用简单的实现未来

什么是懒加载

懒加载,即延迟加载(Lazyload)。简单来说就是一个长页面中需要展示很多图像的时候,如果在进入页面的时候一次性把所有图片加载完,需要很长的时间。为了提升用户体验,我们使用懒加载,当图片出现在浏览器可视区域时,才加载图片。例如各种电商页面。

懒加载的作用

加快页面打开速度,提升用户体验减少服务器压力和浏览器的负担

简单的实现

1、我们先来看看一次性加载20张图片,要用多少时间。

Lazyload

我们把图片资源全部写在img的src里。这时候则一次性加载了全部。所用时间220ms。

2、我们再来看加载20个一样的图片,要用多少时间。

// 把上面代码的img替换成:

我们可以看到,虽然这张图片展示了20次,但是由于都是同一个资源,所有浏览器只请求了一次。用时85ms。

3、经过上面的实验,我们可以理解一下懒加载的原理。就是只加载页面上你看得到的图片。你还没滚动到的图片不加载,都用loading图片这一张图片代替。那么实际上我们进入页面的时候,只加载了一张loading图片和浏览器可视区域的n张图片。

我们通过计算浏览器的高度clientHeight和页面的被遮挡的高度scrollTop的和,再计算图片的顶部与该页面顶部的距离offsetTop,最后比较它们的大小。使还未出现在页面中的图片不加载,来实现懒加载。看看效果,我们的可视区域只有3张图片,一共加载的图片资源为1张loading图片和3张可视区域的图片,共用时90ms。相对于不使用懒加载,一次性加载20张图片的220ms,节省了用户的130ms的等待时间。在图片量多的网站中,效果更为明显。 参考资料: 延迟加载(Lazyload)三种实现方式

未来

https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/jxiJvQc-gVg Chromium 官方支持的 image 懒加载将在 Chrome 75 发布,也就是说,将来只需要使用 就可以指定某个图片只在滚动到附近的时候加载。

友情链接:
Copyright © 2022 86年世界杯_世界杯预选赛阿根廷 - fjyfzz.com All Rights Reserved.