uniapp导航栏滚动到顶部后固定

<template>
	<view class="main">
		<view class="hand" ref='handHeight'>
			<!-- 内容块 -->
		</view>
		<view class="nav" :class="flag?'fixed':''">
			<view class="dataInfo">
				<view class="list">
					<text>aaa</text>
				</view>
				<view class="list">
					<text>bbb</text>
				</view>
				<view class="list">
					<text>ccc</text>
				</view>
			</view>
		</view>
	</view>
</template>
 
<script>
	export default {
		data() {
			return {
				flag: false
			}
		},
		onPageScroll() {
			var scrollHeight = document.documentElement && document.documentElement.scrollTop //获取滚动条的高度
			var handHeight = this.$refs.handHeight.$el.offsetHeight //获取元素高度
			console.log(this.$refs.handHeight)
			if (scrollHeight >= handHeight) {
				this.flag = true
			} else {
				this.flag = false
			}
		}
 
	}
</script>
 
 
<style>
	.main {
		height: 5000rpx;
	}
 
	.hand {
		background-color: #007AFF;
		border: 1px solid #777;
		height: 1000rpx;
	}
 
	.nav .dataInfo {
		display: flex;
		justify-content: space-around;
		text-align: center;
		line-height: 80rpx;
		height: 80rpx;
	}
 
	.nav .dataInfo .list {
		border: 1px solid #000;
		width: 100%;
		margin-right: 20rpx;
		box-sizing: border-box;
	}
 
	.nav .dataInfo .list:last-child {
		margin-right: 0;
	}
 
	.nav .dataInfo .list text {
		font-size: 30rpx;
		color: #000;
		font-weight: bold;
		display: block;
	}
 
	.fixed {
		position: fixed;
		width: 100%;
		top: 88rpx;
		left: 0;
	}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值