本文实例为大家分享了微信小程序页面上下滚动的具体代码,供大家参考,具体内容如下看
本文实例为大家分享了微信小程序页面上下滚动的具体代码,供大家参考,具体内容如下
看图
源码
<view class="container container-fill">
<view class="scroll-fullpage" bindtouchstart="scrollTouchstart" bindtouchmove="scrollTouchmove" bindtouchend="scrollTouchend" style="transform:translateY(-{{scrollindex*100}}%);margin-top: {{margintop}}px">
<view class="section section01 {{scrollindex==0?'active':''}}" style="background: #3399FF;">
<text class="section-maintitle">页面1</text>
<text class="section-subtitle">我的页面”1</text>
</view>
<view class="section section02 {{scrollindex==1?'active':''}}" style="background: #00CC66;">
<text class="section-maintitle">页面2</text>
<text class="section-subtitle">我的页面”2</text>
</view>
<view class="section section03 {{scrollindex==2?'active':''}}" style="background: #33CCCC;">
<text class="section-maintitle">页面3</text>
<text class="section-subtitle">我的页面”3</text>
</view>
<view class="section section04 {{scrollindex==3?'active':''}}" style="background: #6699FF;">
<text class="section-maintitle">页面4</text>
<text class="section-subtitle">我的页面”4</text>
</view>
<view class="section section05 {{scrollindex==4?'active':''}}" style="background: #9966FF;">
<text class="section-maintitle">无缝对接双创服5</text>
<text class="section-subtitle">我的页面”5</text>
</view>
</view>
</view>
js
Page({
data: {
scrollindex:0, //当前页面的索引值
totalnum:5, //总共页面数
starty:0, //开始的位置x
endy:0, //结束的位置y
critical: 100, //触发翻页的临界值
margintop:0, //滑动下拉距离
},
onLoad: function () {
},
scrollTouchstart:function(e){
let py = e.touches[0].pageY;
this.setData({
starty: py
})
},
scrollTouchmove:function(e){
let py = e.touches[0].pageY;
let d = this.data;
this.setData({
endy: py,
})
if(py-d.starty<100 && py-d.starty>-100){
this.setData({
margintop: py - d.starty
})
}
},
scrollTouchend:function(e){
let d = this.data;
if(d.endy-d.starty >100 && d.scrollindex>0){
this.setData({
scrollindex: d.scrollindex-1
})
}else if(d.endy-d.starty <-100 && d.scrollindex<this.data.totalnum-1){
this.setData({
scrollindex: d.scrollindex+1
})
}
this.setData({
starty:0,
endy:0,
margintop:0
})
},
})
css
.container-fill{
height: 100%;
overflow: hidden;
}
.scroll-fullpage{
height: 100%;
transition: all 0.3s;
}
.section{
height: 100%;
}
.section-maintitle{
display: block;
text-align: center;
font-size: 50rpx;
color: #fff;
font-weight: bold;
letter-spacing: 10rpx;
padding-top: 140rpx;
}
.section-subtitle{
display: block;
text-align: center;
font-size: 40rpx;
color: #fff;
font-weight: bold;
letter-spacing: 10rpx;
}
.active .section-maintitle,
.active .section-subtitle{
animation: mymove 0.8s;
}
@keyframes mymove{
from {
transform: translateY(-400rpx) scale(0.5) rotateY(90deg);
}
to {
transform: translateY(0) scale(1) rotateY(0);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
微信小程序页面上下滚动 微信小程序页面滚动 微信小程序上下滚动