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


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 相关文章推荐
IE 当eval遇上function的处理
Aug 09 Javascript
js常用代码段收集
Oct 28 Javascript
innerHTML中标签可以换行的方法汇总
Aug 14 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
Aug 27 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
Mar 08 Javascript
浅谈js基本数据类型和typeof
Aug 09 Javascript
jQuery获取table下某一行某一列的值实现代码
Apr 07 jQuery
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
vue中对象数组去重的实现
Feb 06 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
Apr 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 Pear 安装及使用
2009/03/19 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
通过javascript把图片转化为字符画
2013/10/24 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
Python基本语法经典教程
2016/03/11 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python实现端口检测的方法
2018/07/24 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP