2021-08-10

uniapp页面滚动


一、页面滚动事件

//注意onPageScroll和onLoad同级
	onPageScroll(e){
		//e.scrollTop为页面向上滚动的距离
	}

二、获取整个页面的高度

			let _this = this
			uni.getSystemInfo({
				success: function(res) {
					_this.windowHeight = res.windowHeight
				}
			});

三、元素到页面顶部的距离

    const query = uni.createSelectorQuery().in(this);
	query.select('#pingtuanbox').boundingClientRect(data => {
		this.ptScroll = data.top
	}).exec();

四、小例子,吸顶功能

在这里插入图片描述

当元素向上滑动到顶部时固定在页面顶部

1要计算出元素到页面顶部的距离
2.计算滚动的距离是否大于页面到顶部的距离
3.给元素添加定位功能
		mounted(){
				const query = uni.createSelectorQuery().in(this);
				query.select('#scrollView').boundingClientRect(data => {
					this.myScroll = data.top * 2 
			   }).exec();
        }
        onPageScroll(e) {
			 if (e.scrollTop > this.myScroll) {
			 //可使用此字段判断 
			 // :style="isTop == 1 ? 'position:fixed;z-index:9;top:0;background-color:#fff' :''"
				this.isTop = 1
			} else {
				this.isTop = 0
			}
		}
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值