在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  HTML/ 微信小程序如何實(shí)現(xiàn)這種不一樣的下拉刷新?

微信小程序如何實(shí)現(xiàn)這種不一樣的下拉刷新?

我這里的布局實(shí)現(xiàn)是手寫的tab導(dǎo)航(全部、精華那一行),微信小程序自帶的下拉刷新必須是拉動(dòng)整個(gè)Page頁(yè)面,這樣會(huì)把導(dǎo)航欄也往下拉,因此用的是<scroll-view>的scrolltoupper事件

但是這個(gè)事件有些缺點(diǎn):

  1. 沒有那種彈動(dòng)的效果
  2. 當(dāng)觸頂或觸底時(shí),均不會(huì)觸發(fā),必須從未到頂端或低端時(shí)把距離拉到0時(shí)才觸發(fā)
  3. 用戶容易誤觸,導(dǎo)致刷新,相反的是標(biāo)準(zhǔn)的上拉刷新和下拉刷新不可能會(huì)誤觸的,必須由手勢(shì)滑動(dòng)

請(qǐng)問(wèn)大家有什么好的實(shí)踐經(jīng)驗(yàn)分享嗎?
clipboard.png

回答
編輯回答
安淺陌

如果是我。會(huì)自己手寫一個(gè)仿下拉刷新。
頁(yè)面結(jié)構(gòu)可能是這樣

<tabbar></tabbar>
<scroll-view>
    <view class="top">釋放更新</view>
    <view>列表項(xiàng)</view>
</scroll-view>

思路可能大概是這樣的
首先使用transform將top高度設(shè)為0
監(jiān)聽scroll-view的touch事件,當(dāng)拖動(dòng)到頂部任然繼續(xù)下拖。則計(jì)算拖動(dòng)距離,增加top的高度,到達(dá)一定高度則不再增加,并釋放更新
注意這里的距離計(jì)算應(yīng)該給一個(gè)彈簧的效果。即拖動(dòng)的距離越大,top的高度增加越小,嗯,寫個(gè)簡(jiǎn)單的例子的話大概可能是這樣
top的高度為: h1
拖動(dòng)距離為: x(此為touchmove與上次touchmove的y左邊之差)
假設(shè)top最后高度為100
則:
h1 += (100 - h1) * x / 100);
h1 = h1 > 100 ? 100 : h1;
然后就會(huì)有一個(gè)簡(jiǎn)單的彈簧效果。當(dāng)h1的高度達(dá)到100則不再增加,當(dāng)釋放的時(shí)候h1重置回0,并且刷新列表

僅供參考啦

2017年9月25日 16:03