微信小程序监听页面滚动
by__csdn 人气:01.正常状态下
2.页面滚动到大于100时显示定位到顶部的view盒子
3.html部分
<view class="question"> <!-- 顶部Banner图 --> <view class="qBanner" > <image class="qBannera" src="../../../images/question/banner.png" alt=""></image> <image class="qBesc" src="../../../images/question/esc.png" alt="" bindtap="esc"></image> <text class="qBtxt">问答</text> <view class="sousuo"> <image src="../../../images/question/sousuo.png"></image> <input type="text" placeholder="搜索" value="{{ value }}" bind:change="onChange" bindconfirm="search" /> </view> </view> <!-- 定位 --> <view class="fix" wx:if="{{fixs == 0}}"> <image src="../../../images/question/escs.png" alt="" bindtap="esc"></image> <view> <image src="../../../images/question/sousuo.png"></image> <input type="text" placeholder="搜索" value="{{ value }}" bind:change="onChange" bindconfirm="search" /> </view> </view> </view>
4.js部分
Page({ data: { fixs:1 }, // 监听页面 onPageScroll(e) { console.log(e.scrollTop) if(e.scrollTop > 100){ this.setData({ fixs: 0 }); } else { this.setData({ fixs: 1 }); } }, })
5.css部分
/* 总盒子 */ .question{ width: 100%; background: #F4F4F7; position: relative; } /* 顶部banner盒子 */ .qBanner{ width: 100%; height: 454rpx; position: relative; } /* 背景图 */ .qBannera{ width: 100%; height: 100%; } /* 自定义导航栏返回按钮 */ .qBesc{ width: 34rpx; height: 34rpx; position: absolute; top: 114rpx; left: 54rpx; } /* 自定义导航栏标题 */ .qBtxt{ width: 72rpx; height: 50rpx; font-size: 36rpx; font-family: PingFangSC-Medium, PingFang SC; font-weight: 500; color: #232326; position: absolute; top: 108rpx; left: 46%; /* transform: translate(-0.01%,-50%); */ } /* 搜索盒子 */ .sousuo{ position: absolute; top: 186rpx; left: 58rpx; background: #FFFFFF; width: 640rpx; height: 72rpx; border: 2rpx solid #EFF0F4; border-radius: 36rpx; } .sousuo image{ position: absolute; width: 28rpx; height: 28rpx; top: 20rpx; left: 20rpx; } .sousuo input{ width: 90%; height: 100%; margin-left: 60rpx; } /* 滚动导航栏定位 */ .fix{ width: 100%; height: 176rpx; background: #876BF4; position: fixed; top: 0; left: 0; display: flex; justify-content: flex-start; align-items: flex-end; } .fix image{ width: 34rpx; height: 34rpx; margin-left: 54rpx; margin-bottom: 27rpx; } .fix view{ width: 384rpx; height: 72rpx; margin-bottom: 8rpx; margin-left: 62rpx; position: relative; background: #FFFFFF; border-radius: 38rpx; border: 2rpx solid #EFF0F4; overflow: hidden; } .fix view input{ width: 83%; height: 100%; float: right; } .fix view image{ position: absolute; top: 20rpx; left: -30rpx; width: 28rpx; height: 28rpx; } .input-placeholder{ font-size: 28rpx; font-family: PingFang-SC-Regular, PingFang-SC; font-weight: 400; color: #D2D2D5; }
加载全部内容