可通过监听组件滚动scroll实现:
<scroll-view scroll-y class="page" @scroll="onScroll" > <image src="/static/Bg.png" mode="widthFix" class="response"></image> <view style="position: sticky;top: 0;z-index: 111;" :class="{'sticky-active': isSticky}"> sticky header </view> </scroll-view>
data中新增isSticky:false,
methodonScroll(e) { const scrollTop = e.detail.scrollTop; console.log(scrollTop) if (scrollTop >200) { this.isSticky = true; } else { this.isSticky = false; } },
css
.page{ height: 100vh; /* 确保容器有高度 */ overflow-y: scroll; /* 确保容器可以滚动 */ } .sticky-active { background-color: white; /* 滚动到顶部时的背景颜色 */ box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.2); }
网友回复