微信小程序--实现图片懒加载(lazyload)

本文介绍了微信小程序中实现图片懒加载的方法,主要通过监听节点布局相交状态API来判断图片是否可见。在wxml文件中设置图片属性,并在js文件中进行逻辑处理,使用默认图占位,当图片进入可视区域时显示原图。文章还探讨了初始化列表和监听节点的策略。
摘要由CSDN通过智能技术生成

前言

在微信小程序中,实现图片懒加载的方式有很多

实现思路

  • image标签里的lazy-load属性
  • 通过监听滚动条滑动事件,判断元素距离页面顶部的距离是否小于等于页面的可视高度
  • Intersection Observer API

鉴于第一种方式目前看不出效果,第二种方式代码量还是有点大的,我们在这里用第三种方式来实现图片懒加载。

官方解释

WXML节点布局相交状态

  • 节点布局交叉状态API可用于监听两个或多个组件节点在布局位置上的相交状态。这一组API常常可以用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见。
  • 涉及到以下几个概念
    • 参照节点:监听的参照节点,取它的布局区域作为参照区域。如果有多个参照节点,则会取它们布局区域的 交集 作为参照区域。页面显示区域也可作为参照区域之一。
    • 目标节点:监听的目标,默认只能是一个节点(使用 selectAll 选项时,可以同时监听多个节点)。
    • 相交区域:目标节点的布局区域与参照区域的相交区域。
    • 相交比例:相交区域占参照区域的比例。
    • 阈值:相交比例如果达到阈值,则会触发监听器的回调函数。阈值可以有多个。

代码实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值