0
点赞
收藏
分享

微信扫一扫

微信小程序-粘性组件

大漠雪关山月 2024-07-29 阅读 38

再次完善:将区域设置为粘性时,会脱离原有文档,使得出现下方页面突然遮盖一部分,不平滑

解决:给出一个新的空白区域,宽高与粘性区域一致,wx:if 控制其显示

/****************/

后续补充:在真机上测试后发现过渡不是很平滑,甚至会出现显示错误,我想原因可能是出现在滚动监听距离的延时上,可以考虑其他方法

/****************/

实现原理:

粘性组件的本质是 position:fixed; top:100px

监听滚动条,当滚到到对应位置时修改样式

if(event.scrollTop >= 500){
      // 粘性组件启动
      this.setData({
        isSticky: true
      })
    }else {
      this.setData({
        isSticky: false
      })
    }

布局:以一个view包裹需要粘住的内容

<view class="{{isSticky ? 'fixed-css' : ''}}" style="width: 100%; top: {{isSticky ? navBarHeight : ''}}px;"></view>

由于navigation是自定义的,且导航栏高度是动态计算的,所以top写在内联样式中

样式:

.fixed-css {
  position: fixed;
  background-color: rgb(242, 245, 250);
}

给一个背景色,实现遮挡效果

不足之处:监听滚动位置是固定值

举报

相关推荐

0 条评论