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


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 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
jquery 必填项判断表单是否为空的方法
Sep 14 Javascript
Jquery iframe内部出滚动条
Feb 11 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
Jan 27 Javascript
JS版的date函数(和PHP的date函数一样)
May 12 Javascript
javascript中返回顶部按钮的实现
May 05 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
JavaScript实现图片瀑布流和底部刷新
Jan 02 Javascript
基于JavaScript实现评论框展开和隐藏功能
Aug 25 Javascript
js生成word中图片处理方法
Jan 06 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 Javascript
详解微信小程序之scroll-view的flex布局问题
Jan 16 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实现一个多功能购物网站的案例
2017/09/13 PHP
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
当jQuery1.7遇上focus方法的问题
2014/01/26 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
python中遍历文件的3个方法
2014/09/02 Python
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python数据类型学习笔记
2016/01/13 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python实现逻辑回归的方法示例
2017/05/02 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
Python tkinter和exe打包的方法
2020/02/05 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
业务员简历自我评价
2014/03/06 职场文书
经济信息系毕业生自荐信范文
2014/03/15 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
中层干部培训方案
2014/06/16 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
Django使用redis配置缓存的方法
2021/06/01 Redis