这次需求中,遇到个在屏幕内正常显示,用户上滑(即 屏幕下滑)按钮超出一屏之外吸底的需求,第一反应肯定是粘性定位,但是实际发现粘性定位只满足用户上滑 按钮吸顶,下滑按钮吸底的情况,最后发现了一种解决方案
正常显示
实际需求 按钮在最上侧消失时吸底
// 监听按钮
initObserver () {
this.observer = my
.createIntersectionObserver()
.relativeToViewport({ top: 0, bottom: 0 })
.observe(".img10", (res) => {
if (res.intersectionRatio) {
// 隐藏按钮 显示吸底
this.setData({
fixedShow: false
});
} else {
this.setData({
fixedShow: true
});
}
});
},
createIntersectionObserver 通过监听事件,拿到DOM节点,判断他的属性和容器之间的关系,写两个按钮盒子,一个隐藏一个显示,判断div和视觉容器的关系展示其中一个就可以达到效果。