欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

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

时间:2021-05-28 08:01:19|栏目:JavaScript代码|点击:

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

看图

源码

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

上一篇:简单实例处理url特殊符号&处理(2种方法)

栏    目:JavaScript代码

下一篇:JS关闭窗口与JS关闭页面的几种方法小结

本文标题:微信小程序页面上下滚动效果

本文地址:http://www.codeinn.net/misctech/130510.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有