微信小程序頁面上下滾動(dòng)效果
本文實(shí)例為大家分享了微信小程序頁面上下滾動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
看圖
源碼
<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">無縫對(duì)接雙創(chuàng)服5</text> <text class="section-subtitle">我的頁面”5</text> </view> </view> </view>
js
Page({ data: { scrollindex:0, //當(dāng)前頁面的索引值 totalnum:5, //總共頁面數(shù) starty:0, //開始的位置x endy:0, //結(jié)束的位置y critical: 100, //觸發(fā)翻頁的臨界值 margintop:0, //滑動(dòng)下拉距離 }, 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); } }
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js String.prototype.trim字符去前后空格的擴(kuò)展
這篇文章主要介紹了js String.prototype.trim字符去前后空格的擴(kuò)展,需要的朋友可以參考下2020-04-04JS在TextArea光標(biāo)位置插入文字并實(shí)現(xiàn)移動(dòng)光標(biāo)到文字末尾
JS在TextArea光標(biāo)位置插入文字+移動(dòng)光標(biāo)到文字末尾,F(xiàn)irefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd屬性,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06清華大學(xué)出版的事半功倍系列 javascript全部源代碼
清華大學(xué)出版的事半功倍系列 javascript全部源代碼...2007-05-05JS中typeof與instanceof之間的區(qū)別總結(jié)
本文是對(duì)JS中typeof與instanceof之間的區(qū)別進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-11-11