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


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 相关文章推荐
摘自百度的图片轮换效果代码
Nov 19 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
Dec 25 Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
学习JavaScript设计模式之代理模式
Jan 12 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
Apr 12 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
May 15 Javascript
Vue实现多标签选择器
Nov 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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
关于二级域名下使用一级域名下的COOKIE的问题
2011/11/07 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
Python入门篇之字典
2014/10/17 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
python如何实现异步调用函数执行
2019/07/08 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
Python中如何添加自定义模块
2020/06/09 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
新闻网站实习自我鉴定
2013/09/25 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
就业推荐表院系意见
2015/06/05 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
MySQL锁机制
2021/04/05 MySQL