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


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 相关文章推荐
JavaScript四种调用模式和this示例介绍
Jan 02 Javascript
Javascript基础教程之关键字和保留字汇总
Jan 18 Javascript
使用AngularJS处理单选框和复选框的简单方法
Jun 19 Javascript
javascript实现uploadify上传格式以及个数限制
Nov 23 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
Dec 08 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
AngularJS $injector 依赖注入详解
Sep 14 Javascript
js实现canvas图片与img图片的相互转换的示例
Aug 31 Javascript
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 jQuery
vue脚手架及vue-router基本使用
Apr 09 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
Sep 04 Javascript
Vue使用v-viewer实现图片预览
Oct 21 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的QRcode类与大家分享
2011/11/13 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
Python subprocess模块学习总结
2014/03/13 Python
Python的面向对象思想分析
2015/01/14 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
Python 随机按键模拟2小时
2020/12/30 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
护理工作感言
2014/01/16 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python
详解MySQL的半同步
2021/04/22 MySQL
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏