微信小程序?qū)崿F(xiàn)下滑到底部自動(dòng)翻頁(yè)功能
前言
這段時(shí)間接了一個(gè)微信小程序項(xiàng)目,從此打開(kāi)小程序的新世界大門。然后發(fā)現(xiàn)使用頁(yè)碼進(jìn)行翻頁(yè)已經(jīng)不適用于手機(jī)app,我們?nèi)粘V袑?shí)用的手機(jī)app或者小程序進(jìn)行翻頁(yè)一般都是使用底部后下拉的方式。
解決思路
我發(fā)現(xiàn)微信小程序遠(yuǎn)程組件提供了一個(gè)scroll-view(可滾動(dòng)視圖區(qū)域),這個(gè)組件中有個(gè)屬性,bindscrolltolower能夠監(jiān)聽(tīng)區(qū)域內(nèi)滑到了最后一個(gè)位置。這就能用來(lái)解決和實(shí)現(xiàn)我們提出的問(wèn)題。當(dāng)用戶滑到最后一個(gè)元素,觸發(fā)函數(shù),我們?cè)谠摵瘮?shù)中請(qǐng)求下一頁(yè)的數(shù)據(jù),然后追加到展示列表里。ps:需要一個(gè)變量來(lái)存儲(chǔ)當(dāng)前頁(yè)碼
實(shí)現(xiàn)
wxml:
<scroll-view class="scroll_view" scroll-y bindscrolltolower="nextPage"> <view style="height:100vh"> <block wx:for="{{lists}}" wx:for-index="index" wx:for-item="item" wx:key="unique"> <view style="height:10vh;border:1rpx solid red"> {{item}} </view> </block> </view> </scroll-view>
wxss:
.scroll_view{ height:100vh; }
js:
Page({ data: { lists: [], page: 1 }, //監(jiān)聽(tīng)是否滑到底部 nextPage: function () { let new_lists = []; let page = this.data.page; let startindex = page * 10 + 1; console.log("第" + page + "頁(yè)滑到底部了,請(qǐng)求第" + (page + 1) + "頁(yè)"); page += 1; //模擬請(qǐng)求 for (let i = startindex; i <= startindex + 9; i++) { new_lists.push(i); } this.setData({ lists: this.data.lists.concat(new_lists), page: page }); }, onLoad: function (options) { let lists = []; //模擬請(qǐng)求 for (let i = this.data.page; i <= this.data.page + 9; i++) { lists.push(i) } this.setData({ lists: lists, }); }, })
效果:
說(shuō)明
我這里沒(méi)有做判斷是否請(qǐng)求到最后一頁(yè),我們一般后臺(tái)邏輯是當(dāng)請(qǐng)求當(dāng)前頁(yè)碼為空時(shí)說(shuō)明上一頁(yè)已經(jīng)是最后一頁(yè)了。我們可以在nextPage函數(shù)論進(jìn)行相應(yīng)的邏輯判斷處理,我這里就不展示了,大家自己實(shí)現(xiàn),不會(huì)的給我留個(gè)言。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序?qū)崿F(xiàn)滑動(dòng)翻頁(yè)效果(完整代碼)
- 微信小程序?qū)崿F(xiàn)單個(gè)卡片左滑顯示按鈕并防止上下滑動(dòng)干擾功能
- 微信小程序?qū)崿F(xiàn)左側(cè)滑動(dòng)導(dǎo)航欄
- 微信小程序?qū)崿F(xiàn)手勢(shì)滑動(dòng)卡片效果
- 微信小程序?qū)崿F(xiàn)左側(cè)滑欄過(guò)程解析
- 微信小程序 兩種滑動(dòng)方式(橫向滑動(dòng),豎向滑動(dòng))詳細(xì)及實(shí)例代碼
- 微信小程序 scroll-view實(shí)現(xiàn)錨點(diǎn)滑動(dòng)的示例
- 微信小程序圖片橫向左右滑動(dòng)案例
- 微信小程序側(cè)邊欄滑動(dòng)特效(左右滑動(dòng))
- 微信小程序左右滑動(dòng)切換頁(yè)面詳解及實(shí)例代碼
相關(guān)文章
JS實(shí)現(xiàn)狀態(tài)欄跑馬燈文字效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)狀態(tài)欄跑馬燈文字效果代碼,涉及JavaScript定時(shí)函數(shù)及流程控制的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10關(guān)于JS控制代碼暫停的實(shí)現(xiàn)方法分享
關(guān)于JS控制代碼暫停的工作總結(jié),需要的朋友可以參考下2012-10-10JavaScript實(shí)現(xiàn)tab欄切換的幾種常用方法
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)tab欄切換的幾種常用方法,在Web開(kāi)發(fā)中Tab切換是一個(gè)常見(jiàn)的功能,它允許用戶在不同的頁(yè)面部分之間進(jìn)行切換,需要的朋友可以參考下2023-12-12JavaScript中Object、map、weakmap的區(qū)別分析
這篇文章主要介紹了JavaScript中Object、map、weakmap的區(qū)別分析,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-12-12js實(shí)現(xiàn)樓層效果的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)樓層效果的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07ionic2打包android時(shí)gradle無(wú)法下載的解決方法
這篇文章主要為大家詳細(xì)介紹了ionic2打包android時(shí)gradle無(wú)法下載的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04JS基于面向?qū)ο髮?shí)現(xiàn)的放煙花效果
這篇文章主要介紹了JS基于面向?qū)ο髮?shí)現(xiàn)的放煙花效果,涉及javascript面向?qū)ο蠹夹g(shù)的使用技巧,需要的朋友可以參考下2015-05-05微信小程序?qū)崿F(xiàn)訂單倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)訂單倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06