uView2.0 icon indicating copy to clipboard operation
uView2.0 copied to clipboard

Sticky组件,使用js模式时不生效

Open Niangao-Warren opened this issue 2 years ago • 1 comments

版本

2.0.33

转载链接

github.com

重现步骤

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 即可正常吸附

Niangao-Warren avatar Jul 13 '22 10:07 Niangao-Warren

.u-sticky {
  /* #ifdef APP-VUE || MP-WEIXIN */
  // 此处默认写sticky属性,是为了给微信和APP通过uni.createSelectorQuery查询是否支持css sticky使用
  position: sticky;
  /* #endif */
  z-index: 9999;
}

样式中还需增加z-index

Niangao-Warren avatar Jul 14 '22 01:07 Niangao-Warren