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


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 相关文章推荐
修改js Calendar日历控件 兼容IE9/谷歌/火狐
Jan 04 Javascript
javascript中call和apply方法浅谈
Sep 27 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
Feb 12 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 Javascript
JS实现判断碰撞的方法
Feb 11 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
Mar 14 Javascript
js封装成插件的步骤方法
Sep 11 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
Nov 20 Javascript
Vue实现todo应用的示例
Feb 20 Vue.js
详解如何使用Node.js实现热重载页面
May 06 Javascript
vue实现省市区联动 element-china-area-data插件
Apr 22 Vue.js
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生成随机用户名和密码的实现代码
2013/02/27 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
javascript教程:关于if简写语句优化的方法
2014/05/17 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
对javascript继承的理解
2016/10/11 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
Python2包含中文报错的解决方法
2018/07/09 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
一套.net面试题及答案
2016/11/02 面试题
财务会计专业推荐信
2013/11/30 职场文书
二手房购房意向书范本
2014/04/01 职场文书
2014年党支部学习材料
2014/05/19 职场文书
村安全生产责任书
2014/08/25 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
Golang流模式之grpc的四种数据流
2022/04/13 Golang