微信小程序頁面滑動(dòng)屏幕加載數(shù)據(jù)效果
更新時(shí)間:2020年11月16日 11:51:06 作者:Rolan
這篇文章主要為大家詳細(xì)介紹了微信小程序頁面滑動(dòng)屏幕加載數(shù)據(jù)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
滑動(dòng)屏幕加載數(shù)據(jù)是任何小程序中都會(huì)用到的功能,本文我就將這個(gè)功能整理給大家做動(dòng)圖的小程序,希望對(duì)大家有意。我們先看看效果圖:
創(chuàng)建目錄
首先我們現(xiàn)在項(xiàng)目中創(chuàng)建資訊目錄做動(dòng)圖的小程序,以下是我自己創(chuàng)建的目錄,大家可以根據(jù)自己的需求創(chuàng)建。如圖所示:
創(chuàng)建lists.js文件
以下是lists.js代碼
var app = getApp() Page({ data: { newsList: [], lastid: 0, toastHidden: true, confirmHidden: true, isfrist: 1, loadHidden: true, moreHidden: 'none', msg: '沒有更多文章了' }, loadData: function (lastid) { //顯示出加載中的提示this.setData({ loadHidden: false }) var limit = 10 var that = this wx.request({ url: 'http://127.0.0.1:9090/hpm_bill_web/news/getnewslist', //數(shù)據(jù)接口 data: { lastid: lastid, limit: limit }, header: { 'Content-Type': 'application/json' }, success: function (res) { if (!res.data) { that.setData({ toastHidden: false }) that.setData({ moreHidden: 'none' }) return false } var len = res.data.length var oldLastid = lastid if(len != 0) { that.setData({ lastid: res.data[len - 1].id }) } else { that.setData({ toastHidden: false}) } var dataArr = that.data.newsList var newData = dataArr.concat(res.data); if (oldLastid == 0) {
wx.setStorageSync('CmsList', newData) } that.setData({ newsList: newData }) that.setData({ moreHidden: '' }) }, fail: function (res) { if (lastid == 0) { var newData = wx.getStorageSync('CmsList') if(newData) { that.setData({ newsList: newData }) that.setData({ moreHidden: '' }) var len = newData.length if (len != 0) { that.setData({ lastid: newData[len - 1].id }) } else { that.setData({ toastHidden: false }) } console.log('data from cache'); } } else { that.setData({ toastHidden: false, moreHidden: 'none', msg: '當(dāng)前網(wǎng)格異常,請(qǐng)稍后再試' }) } }, complete: function () { //顯示出加載中的提示
that.setData({ loadHidden: true }) } }) }, loadMore: function (event) { var id = event.currentTarget.dataset.lastid var isfrist = event.currentTarget.dataset.isfrist var that = this wx.getNetworkType({ success: function (res) { var networkType = res.networkType // 返回網(wǎng)絡(luò)類型2g,3g,4g,wifi if (networkType != 'wifi' && isfrist == '1') { that.setData({ confirmHidden: false }) } } }) this.setData({ isfrist: 0 }) this.loadData(id); }, onLoad: function () { var that = this this.loadData(0); }, toastChange: function () { this.setData({ toastHidden: true })
}, modalChange: function () { this.setData({ confirmHidden: true }) } })
創(chuàng)建頁面文件(lists.wxml)
{{name}} {{createtime}}
數(shù)據(jù)加載中... 加載更多 {{msg}} 你當(dāng)前不在在WIFI網(wǎng)格下下,會(huì)產(chǎn)生流量費(fèi)用
創(chuàng)建頁面樣式(lists.wxss)
.warp {height:100%;display:flex;flex-direction: column;padding:20rpx;} navigator {overflow: hidden;} .list {margin-bottom:20rpx;height:200rpx;position:relative;} .imgs{float:left;} .imgs image {display:block;width:200rpx;height:200rpx;} .infos {float:left;width:480rpx;height:200rpx;padding:20rpx 0 0 20rpx} .title {font-size:20px; font-family: Microsoft Yahei} .dates {font-size:16px;color: #aaa; position: absolute;bottom:0;} .loadMore {text-align: center; margin:30px;color:#aaa;font-size:16px;}
通過以上代碼就能實(shí)現(xiàn)在屏幕上滑動(dòng)顯示數(shù)據(jù)的功能。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。