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


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 相关文章推荐
用jquery实现下拉菜单效果的代码
Jul 25 Javascript
jquery datatable后台封装数据示例代码
Aug 07 Javascript
javascript跨域原因以及解决方案分享
Apr 08 Javascript
jQuery layui常用方法介绍
Jul 25 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 Javascript
JS中正则表达式全局匹配模式 /g用法详解
Apr 01 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
Oct 16 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
Apr 11 Javascript
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
angular的输入和输出的使用方法
Sep 22 Javascript
代码分析vue中如何配置less
Sep 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
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php数组键名技巧小结
2015/02/17 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
jcrop基本参数一览
2013/07/16 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
Python的词法分析与语法分析
2013/05/18 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
基于pip install django失败时的解决方法
2018/06/12 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
对python中UDP,socket的使用详解
2019/08/22 Python
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
《花瓣飘香》教学反思
2014/04/15 职场文书
促销活动总结报告
2014/04/26 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
实训报告范文大全
2014/11/04 职场文书