H5页面如何实现图片懒加载?

本文介绍了如何在H5页面中实现图片懒加载,以减少首页白屏时间。通过使用data-*自定义属性、getBoundingClientRect()检测元素位置、throttle进行事件节流以及利用window.innerHeight判断图片是否进入视口,实现图片在即将显示时才加载。同时提供了一个简单的节流函数实现和完整的代码示例,展示了图片懒加载的完整流程。
摘要由CSDN通过智能技术生成

图片懒加载,往往作为减少首页白屏时间的一个解决方案而出现。直观的来说,就是不要直接加载所有图片,而是满足一定条件后才加载,也就是”惰性加载“。实现图片懒加载的方式有很多,如果要简单点那就直接使用第三方插件:vue-lazyload,如果想探究一下别人的插件是怎么实现图片懒加载的,那么可以看看本文是如何实现的。

实现思路

实现图片懒加载我们需要先明白具体的场景,一般来说,我们会在首屏先加载几张图片,其他的图片则先不加载,在页面滚动时,图片快出现在视窗中的时候才来加载图片。为什么要这么实现呢,因为对于图片很多的场景,如果一次性加载出所有的图片,可能会导致页面白屏时间比较长,特别是图片比较大的时候。

实现过程

1.使用data-*自定义数据属性给img标签新增一个data-src属性
2.全局监听滚动事件,使用节流处理回调函数
3.在回调函数中,判断图片是否已经出现在可视区域,如果已经出现在可视区域,则加载该图片
4.页面初始化的时候执行一下回调函数,保证首屏有图片显示

在这个实现过程中,涉及一些知识点,我们来快速回顾一下:

准备知识

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值