dropload.js插件下拉刷新和上拉加載使用詳解
本文實(shí)例為大家分享了dropload.js下拉刷新和上拉加載的具體代碼,供大家參考,具體內(nèi)容如下
第一步,下載dropload插件,dropload插件下載地址 官方文檔:https://github.com/ximan/dropload
第二步,將下載好的dropload插件中的dropload.css,dropload.min.js文件引入到頁(yè)面中,注意還要引入 Jquery1.7 以上 或者 Zepto 二選一,不要同時(shí)都引用,因?yàn)閐ropload是基于jquery實(shí)現(xiàn)的
第三步,將以下代碼放到頁(yè)面的最底部,注意是最底部,否則dropload插件獲取不了高度
**基本代碼結(jié)構(gòu)** //#content為某個(gè)div的id var dropload = $('#content').dropload({ //scrollArea很關(guān)鍵,要不然加載更多不起作用 scrollArea : window, domUp : { domClass : 'dropload-up', domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>', domUpdate : '<div class="dropload-update">↑釋放更新</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加載中...</div>' }, domDown : { domClass : 'dropload-down', domRefresh : '<div class="dropload-refresh">↑上拉加載更多</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加載中...</div>', domNoData : '<div class="dropload-noData">暫無(wú)數(shù)據(jù)</div>' }, loadUpFn : function(me){ //下拉刷新需要調(diào)用的函數(shù) alert("下拉刷新需要調(diào)用的函數(shù)"); //重置下拉刷新 me.resetload(); }, loadDownFn : function(me){ //上拉加載更多需要調(diào)用的函數(shù) alert("上拉加載更多需要調(diào)用的函數(shù)"); //定時(shí)器函數(shù),為了看出上拉加載更多效果 setTimeout(function(){ // 每次數(shù)據(jù)加載完,必須重置 me.resetload(); },1000); } });
一些完整的例子 按需查看就好
示例一、加載底部
<script> $(function(){ // 頁(yè)數(shù) var page = 0; // 每頁(yè)展示5個(gè) var size = 5; // dropload調(diào)用 $('.content').dropload({ scrollArea : window, loadDownFn : function(me){ page++; // 拼接HTML var result = ''; $.ajax({ type: 'GET', url: 'http://ons.me/tools/dropload/json.php?page='+page+'&size='+size,//配合后臺(tái)接口 dataType: 'json', success: function(data){ var arrLen = data.length; if(arrLen > 0){ for(var i=0; i<arrLen; i++){ result += '<a class="item opacity" href="'+data[i].link+'">' +'<img src="'+data[i].pic+'" alt="">' +'<h3>'+data[i].title+'</h3>' +'<span class="date">'+data[i].date+'</span>' +'</a>'; } // 如果沒(méi)有數(shù)據(jù) }else{ // 鎖定 me.lock(); // 無(wú)數(shù)據(jù) me.noData(); } // 為了測(cè)試,延遲1秒加載 setTimeout(function(){ // 插入數(shù)據(jù)到頁(yè)面,放到最后面 $('.lists').append(result); // 每次數(shù)據(jù)插入,必須重置 me.resetload(); },1000); }, error: function(xhr, type){ alert('Ajax error!'); // 即使加載出錯(cuò),也得重置 me.resetload(); } }); } }); }); </script>
示例二、加載頂部、底部
<script> $(function(){ // 頁(yè)數(shù) var page = 0; // 每頁(yè)展示10個(gè) var size = 10; // dropload $('.content').dropload({ scrollArea : window, domUp : { domClass : 'dropload-up', domRefresh : '<div class="dropload-refresh">↓下拉刷新-自定義內(nèi)容</div>', domUpdate : '<div class="dropload-update">↑釋放更新-自定義內(nèi)容</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加載中-自定義內(nèi)容...</div>' }, domDown : { domClass : 'dropload-down', domRefresh : '<div class="dropload-refresh">↑上拉加載更多-自定義內(nèi)容</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加載中-自定義內(nèi)容...</div>', domNoData : '<div class="dropload-noData">暫無(wú)數(shù)據(jù)-自定義內(nèi)容</div>' }, loadUpFn : function(me){ $.ajax({ type: 'GET', url: 'json/update.json', dataType: 'json', success: function(data){ var result = ''; for(var i = 0; i < data.lists.length; i++){ result += '<a class="item opacity" href="'+data.lists[i].link+'">' +'<img src="'+data.lists[i].pic+'" alt="">' +'<h3>'+data.lists[i].title+'</h3>' +'<span class="date">'+data.lists[i].date+'</span>' +'</a>'; } // 為了測(cè)試,延遲1秒加載 setTimeout(function(){ $('.lists').html(result); // 每次數(shù)據(jù)加載完,必須重置 me.resetload(); // 重置頁(yè)數(shù),重新獲取loadDownFn的數(shù)據(jù) page = 0; // 解鎖loadDownFn里鎖定的情況 me.unlock(); me.noData(false); },1000); }, error: function(xhr, type){ alert('Ajax error!'); // 即使加載出錯(cuò),也得重置 me.resetload(); } }); }, loadDownFn : function(me){ page++; // 拼接HTML var result = ''; $.ajax({ type: 'GET', url: 'http://ons.me/tools/dropload/json.php?page='+page+'&size='+size, dataType: 'json', success: function(data){ var arrLen = data.length; if(arrLen > 0){ for(var i=0; i<arrLen; i++){ result += '<a class="item opacity" href="'+data[i].link+'">' +'<img src="'+data[i].pic+'" alt="">' +'<h3>'+data[i].title+'</h3>' +'<span class="date">'+data[i].date+'</span>' +'</a>'; } // 如果沒(méi)有數(shù)據(jù) }else{ // 鎖定 me.lock(); // 無(wú)數(shù)據(jù) me.noData(); } // 為了測(cè)試,延遲1秒加載 setTimeout(function(){ // 插入數(shù)據(jù)到頁(yè)面,放到最后面 $('.lists').append(result); // 每次數(shù)據(jù)插入,必須重置 me.resetload(); },1000); }, error: function(xhr, type){ alert('Ajax error!'); // 即使加載出錯(cuò),也得重置 me.resetload(); } }); }, threshold : 50 }); }); </script>
示例三、多次加載
$(function(){ //利用此寫(xiě)法,可以限制多次加載的個(gè)數(shù)。 var timer; $('.header .ipt').on('input',function(){ var _length = $(this).val(); // 如果輸入值不是數(shù)字或者是空,就跳出 if(isNaN(_length) || _length === ''){ return false; } clearTimeout(timer); timer = setTimeout(function(){//也可不用定時(shí)器 // 清空內(nèi)容 $('.lists').html(''); $('.dropload-down').remove(); var counter = 0; // 每頁(yè)展示4個(gè) var num = 4; var pageStart = 0,pageEnd = 0; // dropload $('.content').dropload({ scrollArea : window, loadDownFn : function(me){ $.ajax({ type: 'GET', url: 'json/more.json', dataType: 'json', success: function(data){ var result = ''; counter++; pageEnd = num * counter; pageStart = pageEnd - num; for(var i = pageStart; i < pageEnd; i++){ result += '<a class="item opacity" href="'+data.lists[i].link+'">' +'<img src="'+data.lists[i].pic+'" alt="">' +'<h3>'+data.lists[i].title+'</h3>' +'<span class="date">'+data.lists[i].date+'</span>' +'</a>'; if((i + 1) >= _length || (i + 1) >= data.lists.length){ // 鎖定 me.lock(); // 無(wú)數(shù)據(jù) me.noData(); break; } } // 為了測(cè)試,延遲1秒加載 setTimeout(function(){ $('.lists').append(result); // 每次數(shù)據(jù)加載完,必須重置 me.resetload(); },1000); }, error: function(xhr, type){ alert('Ajax error!'); // 即使加載出錯(cuò),也得重置 me.resetload(); } }); } }); },500); });
示例四、固定布局,加載頂部、底部
$(function(){ // 按鈕操作 $('.header .btn').on('click',function(){ var $this = $(this); if(!!$this.hasClass('lock')){ $this.attr('class','btn unlock'); $this.text('解鎖'); // 鎖定 dropload.lock(); $('.dropload-down').hide(); }else{ $this.attr('class','btn lock'); $this.text('鎖定'); // 解鎖 dropload.unlock(); $('.dropload-down').show(); } }); // dropload var dropload = $('.inner').dropload({ domUp : { domClass : 'dropload-up', domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>', domUpdate : '<div class="dropload-update">↑釋放更新</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加載中...</div>' }, domDown : { domClass : 'dropload-down', domRefresh : '<div class="dropload-refresh">↑上拉加載更多</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加載中...</div>', domNoData : '<div class="dropload-noData">暫無(wú)數(shù)據(jù)</div>' }, loadUpFn : function(me){ $.ajax({ type: 'GET', url: 'json/update.json', dataType: 'json', success: function(data){ var result = ''; for(var i = 0; i < data.lists.length; i++){ result += '<a class="item opacity" href="'+data.lists[i].link+'" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >' +'<img src="'+data.lists[i].pic+'" alt="">' +'<h3>'+data.lists[i].title+'</h3>' +'<span class="date">'+data.lists[i].date+'</span>' +'</a>'; } // 為了測(cè)試,延遲1秒加載 setTimeout(function(){ $('.lists').html(result); // 每次數(shù)據(jù)加載完,必須重置 dropload.resetload(); },1000); }, error: function(xhr, type){ alert('Ajax error!'); // 即使加載出錯(cuò),也得重置 dropload.resetload(); } }); }, loadDownFn : function(me){ $.ajax({ type: 'GET', url: 'json/more.json', dataType: 'json', success: function(data){ var result = ''; for(var i = 0; i < data.lists.length; i++){ result += '<a class="item opacity" href="'+data.lists[i].link+'">' +'<img src="'+data.lists[i].pic+'" alt="">' +'<h3>'+data.lists[i].title+'</h3>' +'<span class="date">'+data.lists[i].date+'</span>' +'</a>'; } // 為了測(cè)試,延遲1秒加載 setTimeout(function(){ $('.lists').append(result); // 每次數(shù)據(jù)加載完,必須重置 dropload.resetload(); },1000); }, error: function(xhr, type){ alert('Ajax error!'); // 即使加載出錯(cuò),也得重置 dropload.resetload(); } }); } }); });
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新
- vue.js整合vux中的上拉加載下拉刷新實(shí)例教程
- mescroll.js上拉加載下拉刷新組件使用詳解
- vue.js移動(dòng)端app之上拉加載以及下拉刷新實(shí)戰(zhàn)
- angularjs實(shí)現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能
- JS 插件dropload下拉刷新、上拉加載使用小結(jié)
- JS+CSS實(shí)現(xiàn)下拉刷新/上拉加載插件
- 基于iscroll.js實(shí)現(xiàn)下拉刷新和上拉加載效果
- 原生js實(shí)現(xiàn)下拉刷新和上拉加載更多
相關(guān)文章
JavaScript算法教程之sku(庫(kù)存量單位)詳解
這篇文章主要給大家介紹了JavaScript算法教程之sku(庫(kù)存量單位)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2017-06-06javascript html 靜態(tài)頁(yè)面?zhèn)鲄?shù)
靜態(tài)頁(yè)面中用js獲取頁(yè)面參數(shù)的一些屬性方法,具體的獲取參數(shù),可以搜索本站以前的一些文章。2009-04-04javascript字符串拆分成單個(gè)字符相加和不超過(guò)10,求最終值
javascript字符串拆分成單個(gè)字符相加和不超過(guò)10,求最終值2008-09-09JavaScript簡(jiǎn)單表格編輯功能實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript簡(jiǎn)單表格編輯功能實(shí)現(xiàn)方法,涉及javascript操作表格的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04