微信小程序頁面滑動屏幕加載數(shù)據(jù)效果
滑動屏幕加載數(shù)據(jù)是任何小程序中都會用到的功能,本文我就將這個功能整理給大家,希望對大家有意。我們先看看效果圖:
創(chuàng)建目錄
首先我們現(xiàn)在項目中創(chuà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: '當前網(wǎ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)絡類型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)
<view class="warp"> <!-- 文章列表模板 begin --> <template name="items"> <navigator url="../../pages/detail/detail?id={{id}}" hover-class="navigator-hover"> <view class="imgs"> <image src="{{image}}" class="in-img" background-size="cover" model="scaleToFill"></image> </view> <view class="infos"> <view class="title">{{name}}</view> <view class="dates">{{createtime}}</view> </view> </navigator> </template> <!-- 文章列表模板 end --> <!-- 循環(huán)輸出列表 begin --> <view wx:for="{{newsList}}" class="list"> <template is="items" data="{{...item}}" /> </view> <!-- 循環(huán)輸出列表 end --> <loading hidden="{{loadHidden}}" bindchange="loadChange"> 數(shù)據(jù)加載中... </loading> <view bindtap="loadMore" data-lastid="{{lastid}}" data-isfrist="{{isfrist}}" class="loadMore" style="display:{{moreHidden}}">加載更多</view> <toast hidden="{{toastHidden}}" bindchange="toastChange" duration="3000">{{msg}}</toast> <modal title="溫馨提示" no-cancel confirm-text="明確" cancel-text="關閉" hidden="{{confirmHidden}}" bindconfirm="modalChange" bindcancel="modalChange">你當前不在在WIFI網(wǎng)格下下,會產(chǎn)生流量費用</modal> </view>
創(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;}
通過以上代碼就能實現(xiàn)在屏幕上滑動顯示數(shù)據(jù)的功能。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
原生JS實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果示例
這篇文章主要介紹了原生JS實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果,涉及javascript事件響應、頁面元素屬性動態(tài)修改及隨機數(shù)應用等相關操作技巧,需要的朋友可以參考下2018-02-02微信小程序開發(fā)之a(chǎn)nimation循環(huán)動畫實現(xiàn)的讓云朵飄效果
這篇文章主要介紹了微信小程序開發(fā)之a(chǎn)nimation循環(huán)動畫實現(xiàn)的讓云朵飄效果,結合實例形式分析了animation結合js時間函數(shù)實現(xiàn)循環(huán)動畫效果的具體步驟與相關操作技巧,需要的朋友可以參考下2017-07-07用DIV完美模擬createPopup 彈出窗口(腳本之家修正版),支持Firefox,ie,chrome
最近要重構公司的一個站,有一個拾色器只支持IE,不支持FIREFOX CHROME等瀏覽器,花了點時間對照原來的重寫了個。完美實現(xiàn)createPopup方法的彈窗效果,歡迎大家拍磚!2009-09-09如何使用JavaScript和XLSX.js將數(shù)據(jù)導出為Excel文件
這篇文章主要給大家介紹了關于如何使用JavaScript和XLSX.js將數(shù)據(jù)導出為Excel文件的相關資料,xlsx.js基于JavaScript的Excel文件讀寫庫 如果你需要在瀏覽器端處理Excel文件,那么xlsx.js可能是一個不錯的選擇,需要的朋友可以參考下2024-05-05