您的位置:首页 > 健康 > 养生 > 微信小程序中如何监听元素进入目标元素

微信小程序中如何监听元素进入目标元素

2024/12/22 9:57:32 来源:https://blog.csdn.net/qq_42931285/article/details/141871541  浏览:    关键词:微信小程序中如何监听元素进入目标元素
Page({onLoad: function(){// 如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => {res.intersectionRatio // 相交区域占目标节点的布局区域的比例res.intersectionRect // 相交区域res.intersectionRect.left // 相交区域的左边界坐标res.intersectionRect.top // 相交区域的上边界坐标res.intersectionRect.width // 相交区域的宽度res.intersectionRect.height // 相交区域的高度})}
})

上面是相当于视口的,如何相当于目标元素视口:
使用relativeTo。

<view class="container"><view class="page-body"><view class="page-section message"><text wx:if="{{appear}}">小球出现</text><text wx:else>小球消失</text></view><view class="page-section"><scroll-view class="scroll-view" scroll-y><view class="scroll-area" style="{{appear ? 'background: #ccc' : ''}}"><text class="notice">向下滚动让小球出现</text><view class="filling"></view><view class="ball"></view></view></scroll-view></view></view>
</view>
Page({data: {appear: false},onLoad() {this._observer = wx.createIntersectionObserver(this)this._observer.relativeTo('.scroll-view').observe('.ball', (res) => {console.log(res);this.setData({appear: res.intersectionRatio > 0})})},onUnload() {if (this._observer) this._observer.disconnect()}
})

小球与目标元素刚一交叉就出现。
在这里插入图片描述

继续滑动小球会消失
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com