uView2.0
uView2.0 copied to clipboard
Sticky组件,使用js模式时不生效
版本
2.0.33
转载链接
重现步骤
observeContent() {
// 先断掉之前的观察
this.disconnectObserver('contentObserver');
const contentObserver = uni.createIntersectionObserver({
// 检测的区间范围
thresholds: [0.95, 0.98, 1],
});
// 到屏幕顶部的高度时触发
contentObserver.relativeToViewport({
top: -this.stickyTop,
});
// 绑定观察的元素
contentObserver.observe(`#${this.elId}`, (res) => {
this.setFixed(res.boundingClientRect.top);
});
this.contentObserver = contentObserver;
},
期望的结果是什么?
正常吸附
实际的结果是什么?
无法吸附
uni.createIntersectionObserver 改为 this.createIntersectionObserver 即可正常吸附
.u-sticky {
/* #ifdef APP-VUE || MP-WEIXIN */
// 此处默认写sticky属性,是为了给微信和APP通过uni.createSelectorQuery查询是否支持css sticky使用
position: sticky;
/* #endif */
z-index: 9999;
}
样式中还需增加z-index