實例詳解mui上拉載入更多下拉刷新資料的封裝過程
本文主要和大家分享mui上拉載入更多下拉刷新資料的封裝過程,mui的上拉載入和下拉刷新類似,都屬於pullRefresh插件。需要的朋友參考下吧,希望能幫助大家。
輾轉用mui做了兩個項目,空下來把mui上拉加載更多,下拉刷新數據做了一個簡單的封裝,希望可以幫助到需要的朋友
demo項目的結構
直接貼程式碼了
index.html
mui上拉刷新下拉載入都這裡了,兩個方法搞定
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>mui上拉刷新下拉加载demo--封装</title> <script src="js/mui.min.js"></script> <link href="css/mui.min.css" rel="external nofollow" rel="stylesheet"/> <style type="text/css"> li{ height: 30px; line-height: 30px; font-size: 14px; color: #bbb; text-indent: 4%; border-bottom: 1px solid currentColor; } </style> </head> <body> <!--下拉刷新容器--> <p id="refreshContainer" class="mui-content mui-scroll-wrapper"> <p class="mui-scroll"> <!--数据列表--> <ul class="mui-table-view mui-table-view-chevron" id="list"> </ul> </p> </p> </body> <script type="text/javascript" charset="utf-8"> var pager = {};//分页 var totalPage;//总页码 pullRefresh(pager);//启用上拉下拉 function pullRefresh(){ mui("#refreshContainer").pullRefresh({ up:{ contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容 contentnomore:'没 有 更 多 数 据 了',//可选,请求完毕若没有更多数据时显示的提醒内容; callback:function(){//必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据; window.setTimeout(function(){ getData(pager); },500); } }, down : { height:50,//可选,默认50.触发下拉刷新拖动距离, auto: true,//可选,默认false.首次加载自动下拉刷新一次 contentdown : "下拉可以刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容 contentover : "释放立即刷新",//可选,在释放可刷新状态时,下拉刷新控件上显示的标题内容 contentrefresh : "正在刷新...",//可选,正在刷新状态时,下拉刷新控件上显示的标题内容 callback :function(){ //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据; window.setTimeout(function(){ pager['size']= 3;//条数 pager['page'] = 1;//页码 //刷新要先清空父节点里面的子节点 var f = document.getElementById("list"); var childs = f.childNodes; for(var i = childs.length - 1; i >= 0; i--) { f.removeChild(childs[i]); } getData(pager); },500); } } }) } //这个方法是负责向接口请求数据的,你可以选择你喜欢的方式,我这里是直接用的mui.ajax function getData(params){ mui.ajax("/article/getArticlePage",{ data:{ "header":{"os":"wap","app":"xxxx","ver":1.0}, "data":params }, dataType:'json', type:'post', headers:{'Content-Type':'application/json'}, success:function(data){ mui('#refreshContainer').pullRefresh().endPullupToRefresh(true); //下面这坨都是在拼dom 你可以用jquery 或者是你所熟悉的angular,vue双向绑定 var returnData = data.data; var element=document.getElementById("list"); var para; var node; for(var i = 0; i<returnData.length;i++){ para = document.createElement("li"); node = document.createTextNode(returnData[i].article_title) para.appendChild(node); element.appendChild(para); } //这里很重要,这里获取页码 公式:总条数/每页显示条数 totalPage = data.ext%pager.size!=0? parseInt(data.ext/pager.size)+1: data.ext/pager.size; if(totalPage==pager.page){//总页码等于当前页码,停止上拉下拉 mui('#refreshContainer').pullRefresh().endPullupToRefresh(true); }else{ pager.page++; mui('#refreshContainer').pullRefresh().refresh(true); } }, error:function(xhr,type,errorThrown){ //异常处理; console.log(type); } }) } </script> </html>
程式碼就貼完了就是看起來不是很好看
下面是效果圖,想弄影片上來的然後發現太雞肋了弄不上來 氣死我了
#PS:下面要分享一段範例程式碼:MUI 做上拉下拉載入更多資料小記
html程式碼
<p id="pullrefresh" class="mui-content mui-scroll-wrapper"> <p id="mui-scroll" class="mui-scroll"> <ul id="refresh-ul" class="mui-table-view"> <!-- 内容 --> </ul> </p> </p> <script type="text/javascript"> mui('body').on('tap','a',function(){document.location.href=this.href;});//监听让页面A标签的超链接 是有效状态 mui.init({ pullRefresh : { container:"#pullrefresh",//下拉刷新容器标识,querySelector能定位的css选择器均可,比如:id、.class等 up : { height:50,//可选,默认50.触发下拉刷新拖动距离, auto: true,//可选,默认false.自动下拉刷新一次 contentdown : "下拉可以刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容 contentover : "释放立即刷新",//可选,在释放可刷新状态时,下拉刷新控件上显示的标题内容 contentrefresh : "正在刷新...",//可选,正在刷新状态时,下拉刷新控件上显示的标题内容 callback :function(){ //业务逻辑代码,比如通过ajax从服务器获取新数据; //注意,加载完新数据后,必须执行如下代码,注意:若为ajax请求,则需将如下代码放置在处理完ajax响应数据之后 //mui('#refresh-ul').pullRefresh().endPullupToRefresh(); //refresh completed var pagecount=$("#pagecount").val(); var page=$("#page").val(); pagecount=parseInt(pagecount); page=parseInt(page); page+=1; $.ajax({ url:"/mobile/seckill/order/order_refresh_ajax.jhtml", type: 'post', datatype:'html', data: {'pagecount': pagecount,'page':page}, async: false,//false代表只有在等待ajax执行完毕后才执行 success: function(data,msg){ $("#refresh-ul").append(data); $("#page").val(page); }, error: function(data,msg){ alert("error"); } }); this.endPullupToRefresh(false); } //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据; } } }); if(mui.os.plus) { mui.plusReady(function() { setTimeout(function() { mui('#pullrefresh').pullRefresh().pullupLoading(); }, 1000); }); } else { mui.ready(function() { mui('#pullrefresh').pullRefresh().pullupLoading(); }); } function goShoppingCart() { window.location.href = "/mobile/seckill/shoppingcart.jhtml"; } </script>
相關推薦:
#######################關於ajax二次封裝jquery####### #####JavaScript模擬三種方式實作封裝及區別介紹#######以上是實例詳解mui上拉載入更多下拉刷新資料的封裝過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
![在Illustrator中載入插件時出錯[修復]](https://img.php.cn/upload/article/000/465/014/170831522770626.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
啟動AdobeIllustrator時是否會彈出載入插件時出錯的訊息?一些Illustrator用戶在打開該應用程式時遇到了此錯誤。訊息後面緊跟著一系列有問題的插件。此錯誤提示表示已安裝的插件有問題,但也可能是由於VisualC++DLL檔案損壞或首選項檔案受損等其他原因所引起。如果遇到此錯誤,我們將在本文中指導您修復問題,請繼續閱讀以下內容。在Illustrator中載入外掛程式時出錯如果您在嘗試啟動AdobeIllustrator時收到「載入外掛程式時出錯」的錯誤訊息,您可以使用以下用途:以管理員身

字幕在你的WindowsPC上不能在Stremio上運行嗎?一些Stremio用戶報告說,影片中沒有顯示字幕。許多用戶報告說他們遇到了一條錯誤訊息,上面寫著「載入字幕時出錯」。以下是與此錯誤一起顯示的完整錯誤訊息:載入字幕時出錯載入字幕失敗:這可能是您正在使用的插件或您的網路有問題。正如錯誤訊息所說,可能是您的網路連線導致了錯誤。因此,請檢查您的網路連接,並確保您的網路運作正常。除此之外,這個錯誤的背後可能還有其他原因,包括字幕加載項衝突、特定影片內容不支援字幕以及Stremio應用程式過時。如

隨著互聯網的發展,越來越多的網頁需要支援滾動加載,而無限滾動加載是其中的一種。它可以讓頁面不斷載入新的內容,使用戶可以更流暢地瀏覽網頁。在這篇文章中,我們將介紹如何使用PHP實現無限滾動載入。一、什麼是無限滾動載入?無限滾動載入是一種基於捲軸的網頁內容載入方式。它的原理是當使用者捲動至頁面底部時,透過AJAX非同步調取後台數據,實現不斷載入新的內容。這種載入方

css載入不出來的解決辦法有檢查檔案路徑、檢查檔案內容、清除瀏覽器快取、檢查伺服器設定、使用開發者工具和檢查網路連線等。詳細介紹:1、檢查檔案路徑,首先請確保CSS檔案的路徑正確,如果CSS檔案位於網站的不同部分或子目錄中,需要提供正確的路徑,如果CSS檔案位於根目錄下,路徑應該是直接的;2、檢查文件內容,如果路徑正確,那麼問題可能出在CSS文件本身,開啟CSS文件檢查等等。

如果您在插入超連結時出現在Outlook時遇到凍結問題,可能是因為網路連線不穩定、Outlook版本舊、防毒軟體幹擾或加載項衝突等原因。這些因素可能導致Outlook無法正常處理超連結操作。修正插入超連結時Outlook凍結的問題使用以下修復程式解決插入超連結時Outlook凍結的問題:檢查已安裝的加載項更新Outlook暫時停用您的防毒軟體,然後嘗試建立新的使用者設定檔修復辦公室應用程式卸載並重新安裝Office我們開始吧。 1]檢查已安裝的加載項可能是Outlook中安裝的某個加載項導致了問題。

在安裝win7系統中,有網友遇到了載入usb驅動失敗的情況,usb設備無法在新的win7系統中被識別,常見的u盤,滑鼠等設備就無法使用了。那麼安裝win7載入usb驅動失敗怎麼辦?下面小白就教下大家安裝win7載入usb驅動失敗的解決方法。方法一:1、首先我們打開電腦進入電腦系統,在電腦系統查看電腦的系統版本。確認電腦系統的版本與裝置驅動的版本是否一致。 2.確認驅動程式的版本後,將USB裝置連接到電腦系統。電腦系統顯示,設備無法連接到系統。 3.在連結資訊頁面,點選幫助按鈕查看幫助資訊。 4.如果電腦系

JavaScript如何實現滾動到頁面底部自動載入的無限滾動效果?無限滾動效果是現代網頁開發中常見的功能之一,它可以在滾動到頁面底部時自動加載更多內容,使得用戶可以無需手動點擊按鈕或連結就能夠獲取更多的數據或資源。在本文中,我們將探討如何使用JavaScript來實現這項功能,並提供具體的程式碼範例。實現滾動到頁面底部自動加載的無限滾動效果,主要分為以下

JavaScript如何實現網頁滾動到底部自動載入更多內容的功能?概述:在現代網路應用中,無限滾動是一種常見的功能。當使用者捲動到網頁的底部時,自動載入更多內容,提供更好的使用者體驗。 JavaScript可以幫助我們實現這項功能。本文將介紹如何使用JavaScript監聽使用者捲動事件,並根據捲動位置載入更多內容的具體程式碼範例。具體實現:首先,在HTM
