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


Posted in Javascript onNovember 18, 2020

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

看图

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

源码

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习YUI.Ext 第二天
Mar 10 Javascript
js 复制或插入Html的实现方法小结
May 19 Javascript
javascript中callee与caller的用法和应用场景
Dec 08 Javascript
判断输入是否为空,获得输入类型的JS代码
Oct 30 Javascript
jquery validate在ie8下的bug解决方法
Nov 13 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
jQuery添加和删除输入文本框标签代码
May 20 Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 Javascript
ie下js不执行的几种可能
Feb 28 Javascript
bootstrapvalidator之API学习教程
Jun 29 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
Apr 11 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 Javascript
node.js实现上传文件功能
Jul 15 #Javascript
js canvas实现5张图片合成一张图片
Jul 15 #Javascript
js使用文件流下载csv文件的实现方法
Jul 15 #Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 #Javascript
微信小程序开发技巧汇总
Jul 15 #Javascript
微信小程序中如何计算距离某个节日还有多少天
Jul 15 #Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 #Javascript
You might like
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
video.js添加自定义组件的方法
2020/12/09 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
python中私有函数调用方法解密
2016/04/29 Python
python抓取文件夹的所有文件
2018/02/27 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
python——全排列数的生成方式
2020/02/26 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
中国梦演讲稿5分钟
2014/08/19 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
平安建设汇报材料
2014/12/29 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
民主生活会主持词
2015/07/01 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
java中如何截取字符串最后一位
2022/07/07 Java/Android