微信小程序页面上下滚动效果

本文实例为大家分享了微信小程序页面上下滚动的具体代码,供大家参考,具体内容如下

看图

源码

<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);

}

}

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上是 微信小程序页面上下滚动效果 的全部内容, 来源链接: utcz.com/z/332649.html

回到顶部