微信小程序scroll-view實(shí)現(xiàn)橫向滾動(dòng)和上拉加載示例
今天介紹微信小程序中scroll-view實(shí)現(xiàn)橫向滾動(dòng)和上拉加載的實(shí)現(xiàn)及需要注意的地方。
先看最終效果。
橫向滾動(dòng)
1.設(shè)置滾動(dòng)項(xiàng)display:inline-block;
2.設(shè)置滾動(dòng)視圖容器white-space: nowrap;
3.滾動(dòng)項(xiàng)不要用float
為什么會(huì)有以上三點(diǎn)要求呢?
其實(shí)橫向滾動(dòng)官方文檔中是沒有做太多說明的,只說明需要定義scroll-view滾動(dòng)方向scroll-x=true允許橫向滾動(dòng),但是我在實(shí)踐的時(shí)候我發(fā)現(xiàn),你要橫向滾動(dòng),首先你得是一排吧。所以才發(fā)現(xiàn)需要定義滾動(dòng)項(xiàng)及容器的一些屬性,浮動(dòng)是不能讓所有的滾動(dòng)項(xiàng)一排顯示的。
上拉加載
<scroll-view scroll-y="true" bindscrolltolower="pullUpLoad" style="height: 58%;" class="content-wrap">
實(shí)現(xiàn)上拉加載,只需要綁定bindscrolltolower 事件處理,當(dāng)滾動(dòng)到底部/左邊的時(shí)候,觸發(fā)這個(gè)處理函數(shù),邏輯上就是去請(qǐng)求下一頁的數(shù)據(jù),并且視圖上顯示正在加載的樣式,當(dāng)數(shù)據(jù)請(qǐng)求成功,將其拼合到之前的數(shù)據(jù)中,并隱藏正在加載的樣式。
//下拉加載 pullUpLoad: function(){ var that = this; console.log("====下拉====") if (!that.data.hidden) { that.data.params.pageNo += 1; that.setData({ params: that.data.params, }) if(that.data.params.pageNo <= that.data.totalPages){ that.setData({ hidden: true, }) that.getShareList(); }else{ that.setData({ hidden: false, }) } } }
如何設(shè)置scroll-view滿屏滾動(dòng)
文檔中說到:使用豎向滾動(dòng)時(shí),需要給一個(gè)固定高度,通過 WXSS 設(shè)置 height。
那么我們想讓小程序滿屏滾動(dòng)該如何設(shè)置高度呢,直接設(shè)置height:100%?好像不是很好用,原因是因?yàn)檫@個(gè)高度沒有參照物,以前我們是設(shè)置body的高度,類似,我們這里發(fā)現(xiàn)小程序頁面渲染出來的容器是Page,那我們就先設(shè)置Page的高度100%,再設(shè)置scroll-view高度100%,問題得到解決。
官方推薦的loading效果
onLoad:function(options){ wx.showToast({ title: '加載中', icon: 'loading', duration: 10000//loading時(shí)間 }); //wx.hideToast();隱藏loading }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理詳解
這篇文章主要介紹了JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理的知識(shí),文章內(nèi)容非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01微信公眾號(hào)生成新浪短網(wǎng)址的實(shí)現(xiàn)(快速生成)
這篇文章主要介紹了微信公眾號(hào)生成新浪短網(wǎng)址的實(shí)現(xiàn)(快速生成),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08js判斷背景圖片是否加載成功使用img的width實(shí)現(xiàn)
判斷背景圖片是否加載成功想必大家對(duì)此很陌生吧,會(huì)了之后就可以判斷css背景圖片了,具體判斷代碼如下,感興趣的朋友可以參考下哈2013-05-05JavaScript打印網(wǎng)頁指定區(qū)域的例子
這篇文章主要介紹了JavaScript打印網(wǎng)頁指定區(qū)域的例子,需要的朋友可以參考下2014-05-05利用HTML與JavaScript實(shí)現(xiàn)注冊(cè)頁面源碼
這篇文章主要給大家介紹了關(guān)于利用HTML與JavaScript實(shí)現(xiàn)注冊(cè)頁面的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對(duì)大家實(shí)現(xiàn)注冊(cè)頁面具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12js編寫一個(gè)簡(jiǎn)單的產(chǎn)品放大效果代碼
這篇文章主要為大家分享了js編寫一個(gè)簡(jiǎn)單的產(chǎn)品放大效果代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06js實(shí)現(xiàn)鍵盤Enter鍵提交表單的方法
這篇文章主要介紹了js實(shí)現(xiàn)鍵盤Enter鍵提交表單的方法,涉及javascript鍵盤事件的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05新手快速學(xué)習(xí)JavaScript免費(fèi)教程資源匯總
這篇文章主要介紹了新手快速學(xué)習(xí)JavaScript免費(fèi)教程資源匯總,都是非常不錯(cuò)的學(xué)習(xí)站點(diǎn),有需要的小伙伴可以參考下。2015-06-06