首页 > 编程 > JavaScript > 正文

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

2019-11-19 11:10:54
字体:
来源:转载
供稿:网友

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

看图

源码

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

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表