MUI 上拉刷新/下拉加載功能實(shí)例代碼
新聞信息列表必備的功能,支持Table,Ul等列表.
以下是DIV版本,在安卓端或者ios端必須使用雙webview模式,傳送門(mén):http://dev.dcloud.net.cn/mui/pulldown/
<!--下拉刷新容器--> <div id="pullrefresh" class="mui-content mui-scroll-wrapper"> <div class="mui-scroll"> <!--數(shù)據(jù)列表--> <ul class="mui-table-view"> </ul> </div> </div> <script type="text/javascript"> mui.init ({ pullRefresh: { container: '#pullrefresh', down: { callback: pulldownRefresh }, up: { contentrefresh: '正在加載...', callback: pullupRefresh } } }); /* * 下拉刷新具體業(yè)務(wù)實(shí)現(xiàn) */ function pulldownRefresh() { setTimeout(function() { var table = document.body.querySelector('.mui-table-view'); var cells = document.body.querySelectorAll('.mui-table-view-cell'); //模擬數(shù)據(jù) for (var i = cells.length, len = i + 3; i < len; i++) { var li = document.createElement('li'); li.className = 'mui-table-view-cell'; li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>'; //下拉刷新,新紀(jì)錄插到最前面; table.insertBefore(li, table.firstChild); } mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed }, 1500); } var count = 0; /* * 上拉加載具體業(yè)務(wù)實(shí)現(xiàn) */ function pullupRefresh() { setTimeout(function() { mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count > 2)); //參數(shù)為true代表沒(méi)有更多數(shù)據(jù)了。 var table = document.body.querySelector('.mui-table-view'); var cells = document.body.querySelectorAll('.mui-table-view-cell'); for (var i = cells.length, len = i + 20; i < len; i++) { var li = document.createElement('li'); li.className = 'mui-table-view-cell'; li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>'; table.appendChild(li); } }, 1500); } if (mui.os.plus) { mui.plusReady(function() { setTimeout(function() { mui('#pullrefresh').pullRefresh().pullupLoading(); }, 1000); }); } else { mui.ready(function() { mui('#pullrefresh').pullRefresh().pullupLoading(); }); } </script>
個(gè)人心得
1、手動(dòng)加載loading,并且會(huì)立即調(diào)用[下拉刷新]綁定的函數(shù)
mui('#pullrefresh').pullRefresh().pullupLoading(); //使用這個(gè)之后,自動(dòng)會(huì)加載[下拉刷新]綁定的函數(shù)
2、停止上拉刷新和下拉加載的loading
mui('#pullrefresh').pullRefresh().endPullupToRefresh(num >= cnt); //參數(shù)可以為返回true/false的表達(dá)式 mui('#pullrefresh').pullRefresh().endPulldownToRefresh();
3、初始化
初始化時(shí)通常要將原數(shù)據(jù)列表清空,如:$("#mui-table-view").html("");
那么請(qǐng)務(wù)必將以下代碼放置在清空代碼之后.這和scroll的滾動(dòng)性質(zhì)有關(guān)
mui('#pullrefresh').pullRefresh().refresh(true); //恢復(fù)滾動(dòng) mui('#pullrefresh').pullRefresh().scrollTo(0,0,100); //滾動(dòng)置頂
4、Iscroll方面的擴(kuò)展和內(nèi)容
http://www.dbjr.com.cn/article/111090.htm
5 Vue使用
<template> <div> <header class="mui-bar mui-bar-nav"> <button @click="model" class=" mui-btn mui-btn-blue mui-btn-link mui-btn-nav mui-pull-left"><span class="mui-icon mui-icon-left-nav"></span>{{ modelName }}</button> <h1 class="mui-title">笑話大全</h1> </header> <div class="mui-content mui-scroll-wrapper" id="pullrefresh" > <div class="mui-scroll"> <div class="mui-card" v-for="item in items"> <div class="mui-card-header mui-card-media" style=""> <div class="mui-card-content-inner"> <p style="color: #333;">{{ item.content }}</p> </div> </div> <div class="mui-card-content" v-if="item.url"> <img :src=" item.url " width="100%" height="100%" draggable="false"/> </div> <div class="mui-card-footer"> Posted on {{ item.updatetime }} </div> </div> </div> </div> </div> </template> <script> export default { data () { return { items:[], page :1, pagesize:5, count:0, modelName:"圖文" }; }, methods : { getJoke () { let self = this; var model = self.modelName == "圖文" ? "pic" : ""; $.ajax({ type:"get", url:`http://localhost:8090?${model}&page=${self.page}&pagesize=${self.pagesize}`, success (data) { let json = JSON.parse(data).result.data; self.items = self.items.concat(json); // 合并并且返回一個(gè)新數(shù)組 self.page += 1; self.count += 10; mui('#pullrefresh').pullRefresh().endPullupToRefresh(self.count >= 1000); } }) }, model () { this.modelName = this.modelName == "圖文" ? "文字" : "圖文"; this.items = []; this.getJoke(); }, pulldownRefresh () { setTimeout(() => { mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); },1500) }, pullupRefresh () { this.getJoke(); } }, created () { let self = this; mui.ready(function(){ mui.init ({ pullRefresh: { container: '#pullrefresh', down: { callback: self.pulldownRefresh }, up: { contentrefresh: '正在加載...', callback: self.pullupRefresh } } }); self.getJoke(); }) } }; </script> <style lang="css" scoped> .mui-card:nth-last-child(1){margin-bottom:70px;} .mui-card-header>img:first-child{width:100%;height: 100%;} .mui-pull-bottom-pocket{position:inherit} </style>
以上所述是小編給大家介紹的MUI 上拉刷新/下拉加載功能實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
自用js開(kāi)發(fā)框架小成 學(xué)習(xí)js的朋友可以看看
前段時(shí)間項(xiàng)目需要用到j(luò)s樹(shù),找了好多都不符合項(xiàng)目需求,后來(lái)發(fā)現(xiàn)了梅花雪樹(shù)和js框架,類(lèi)似C#名稱空間的用法讓我眼前一亮,遂拿來(lái)主義,讀了幾遍代碼后就開(kāi)工了(我是個(gè)急性子呵呵),完成了大部分,最近才找出來(lái)測(cè)試了下。2010-11-11解決OneThink中無(wú)法異步提交kindeditor文本框中修改后的內(nèi)容方法
下面小編就為大家?guī)?lái)一篇解決OneThink中無(wú)法異步提交kindeditor文本框中修改后的內(nèi)容方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05小程序?qū)崿F(xiàn)簡(jiǎn)單語(yǔ)音聊天的示例代碼
這篇文章主要介紹了小程序?qū)崿F(xiàn)簡(jiǎn)單語(yǔ)音聊天的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07ECMAScript?的?6?種簡(jiǎn)單數(shù)據(jù)類(lèi)型
這篇文章主要介紹了ECMAScript的?6?種簡(jiǎn)單數(shù)據(jù)類(lèi)型,ECMAScript的數(shù)據(jù)類(lèi)型很靈活,一種數(shù)據(jù)類(lèi)型可以當(dāng)作多種數(shù)據(jù)類(lèi)型來(lái)使用,具體使用詳情文章詳細(xì)介紹需要的小伙伴可以參考一下2022-06-06JavaScript Window 打開(kāi)新窗口(window.location.href、windo
本文主要介紹了JavaScript Window 打開(kāi)新窗口的三種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05JavaScript實(shí)現(xiàn)仿新浪微博大廳和騰訊微博首頁(yè)滾動(dòng)特效源碼
最近看到朋友用JavaScript實(shí)現(xiàn)仿新浪微博大廳和未登錄騰訊微博首頁(yè)滾動(dòng)效果,朋友使用jquery實(shí)現(xiàn)的,在網(wǎng)上看到有用js制作的也比較好,于是把我的內(nèi)容整理分享給大家,具體詳解請(qǐng)看本文2015-09-09JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象的定義和繼承詳解
這篇文章主要介紹了JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象的定義和繼承,結(jié)合實(shí)例形式詳細(xì)分析了javascript面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象定義、繼承、屬性、方法、深拷貝等相關(guān)概念與操作技巧,需要的朋友可以參考下2019-07-07