title: IntersectionObserver header: develop nav: api sidebar: query_IntersectionObserver

webUrl: https://qft12m.smartapps.cn/swan-api/intersection-observer/intersection-observer

解释: IntersectionObserver 对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见。

IntersectionObserver对象的方法列表 :

方法 说明
relativeTo 使用选择器指定一个节点,作为参照区域之一
relativeToViewport 指定页面显示区域作为参照区域之一
observe 指定目标节点并开始监听相交状态变化情况
disconnect 停止监听。回调函数将不再触发

示例

在开发者工具中预览效果

扫码体验

webUrl: https://qft12m.smartapps.cn/swan-api/intersection-observer/intersection-observer - 图1 请使用百度APP扫码

代码示例

:::codeTab

  1. <scroll-view class="scroll-view" scroll-y>
  2. <view class="scroll-area" style="{{appear ? 'background: #ccc' : ''}}">
  3. <text class="notice">向下滚动让小球出现</text>
  4. <!-- 占位元素 -->
  5. <view class="filling"></view>
  6. <!-- 小球 -->
  7. <view class="ball"></view>
  8. </view>
  9. </scroll-view>
  1. Page({
  2. data: { },
  3. onReady() {
  4. const intersectionObserver = swan.createIntersectionObserver(this);
  5. intersectionObserver
  6. .relativeTo('.scroll-view')
  7. .relativeToViewport({bottom: 100})
  8. .observe('.ball', res => {
  9. console.log('observe', res)
  10. });
  11. this.intersectionObserver = intersectionObserver;
  12. },
  13. onUnload() {
  14. this.intersectionObserver && this.intersectionObserver.disconnect();
  15. }
  16. });

:::