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

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

源码

<view> <view bindtouchstart="scrollTouchstart" bindtouchmove="scrollTouchmove" bindtouchend="scrollTouchend"> <view> <text>页面1</text> <text>我的页面”1</text> </view> <view> <text>页面2</text> <text>我的页面”2</text> </view> <view> <text>页面3</text> <text>我的页面”3</text> </view> <view> <text>页面4</text> <text>我的页面”4</text> </view> <view> <text>无缝对接双创服5</text> <text>我的页面”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); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d70926522fbc1e02be78a766567d1611.html