uniApp / 小程序实现一个view滚动到一定高度置顶显示

在uniApp和小程序项目中,为了模仿美团效果,需实现筛选模块滚动到顶部时置顶显示。通过查阅官方文档,利用相同API在页面加载时获取视图顶部高度并保存。监听滚动事件,当滚动超过该高度时,添加样式使视图固定在顶部。
摘要由CSDN通过智能技术生成

最近在使用uniApp做一个模仿美团小程序的demo,其中遇到这样一个需求,就是筛选模块滚动到顶部就置顶显示

查阅了uniApp的官方文档以及微信小程序的官方文档,发现都有一个相同的API,如下:

 

实现思路如下:

1.在onLoad或mounted页面初始化的生命周期方法中获取需要置顶的view距离顶部的高度保存到data中

onLoad() {
	// 监听筛选组件距离顶部的距离
	const query = wx.createSelectorQuery()
	query.select('#boxFixed').boundingClientRect()
	query.exec((res)=>{
				
		this.topRange = res[0].top //获取距离顶部的高度并保存
				
	})
},

2.监听页面滚动,当滚动的距离大于上述距离顶部距离则增加一个固定在顶部的样式

// 监听页面滚动距离
onPageScroll(e) {
	this.scrollSize = e.scrollTop
}


computed:{
	// 监听筛选组件置顶和不置顶
	openFixed(){
		// 如果页面滚动的高度大于筛选组件距离顶部的高度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值