可通过监听组件滚动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,
method onScroll(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);
}
网友回复


