微信小程序-粘性组件

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

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

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

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

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

实现原理:

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

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

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

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

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

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

样式:

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

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

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

相关推荐
换日线°5 小时前
微信小程序单双周选择排序有效果图
微信小程序
HumoChen998 小时前
GZip+Base64压缩字符串在ios上解压报错问题解决(安卓、PC模拟器正常)
android·小程序·uniapp·base64·gzip
qq_124987075310 小时前
原生小程序+springboot+vue医院医患纠纷管理系统的设计与开发(程序+论文+讲解+安装+售后)
java·数据库·spring boot·后端·小程序·毕业设计
小新11011 小时前
微信小程序学习之底部导航栏
微信小程序·导航栏
小新11012 小时前
微信小程序 密码框改为text后不可见,需要点击一下
微信小程序·小程序·notepad++
Maitians12 小时前
微信小程序 自定义图片分享-绘制数据图片以及信息文字
微信小程序·小程序
Mr.app17 小时前
uniapp(微信小程序)>关于父子组件的样式传递问题(自定义组件样式穿透)
微信小程序·uni-app
老李不敲代码17 小时前
榕壹云搭子系统技术解析:基于Spring Boot+MySQL+UniApp的同城社交平台开发实践
spring boot·mysql·微信小程序·uni-app·软件需求
全职计算机毕业设计2 天前
基于微信小程序的城市特色旅游推荐应用的设计与实现
微信小程序·小程序