1.获取DOM位置,手动判断


domRect = element.getBoundingClientRect();

DOMRect 它是包含整个元素的最小矩形,包括其填充和边框宽度。

2.使用useIntersectionObserver()


作用 : 就是依靠h5的直接判断元素进入可视区域的比例来实现监听进入可视区域行为

使用方法 :

1.下载@vueuse/core

npm i @vueuse/core

2.使用useIntersectionObserver方法

const { stop } = useIntersectionObserver(
  target, 
  ([{ isIntersecting }], observerElement) => {
    // 在此处可根据isIntersecting来判断,然后做业务
  },
  {
      threshold: 0
  }
)

stop 是一个函数。如果调用它,就会停止观察(是否进入或移出可视区域的行为)

target 是vue的对象引用,是观察的目标

isIntersecting 是一个boolean值,表示是否进入可视区域。

observerElement 被观察的dom

threshold 容器和可视区交叉的占比(进入的面积/容器完整面积) 取值,0-1 之间,默认是0.1,

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐