微信小程序?qū)崿F(xiàn)移動(dòng)端滑動(dòng)分頁效果(ajax)
更新時(shí)間:2017年06月13日 16:38:36 作者:PHP急先鋒
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)移動(dòng)端滑動(dòng)分頁效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
一般在PC上我們要分頁都是通過上一頁和下一頁來實(shí)現(xiàn)的,手機(jī)通過當(dāng)下滑到一定程度的時(shí)候自動(dòng)加載下一頁面。
實(shí)現(xiàn)思路:首先加載部分?jǐn)?shù)據(jù),當(dāng)下滑到某個(gè)元素可見的時(shí)候,如果還有數(shù)據(jù),則新發(fā)送請求,然后追加在當(dāng)前頁面。
/* *<div class='topicBox' id='listBox'> *</div> */ //判斷元素是否進(jìn)入可視區(qū)域 function see(objLiLast) { //瀏覽器可視區(qū)域的高度 var see = document.documentElement.clientHeight; //滾動(dòng)條滑動(dòng)的距離 var winScroll = $(this).scrollTop(); //距離瀏覽器頂部的 var lastLisee = $(objLiLast).offset().top; return lastLisee < (see + winScroll) ? true : false; } //預(yù)設(shè)頁碼為當(dāng)前第一頁 var page = 1; //獲得總頁碼 var pageTotal = parseInt($('#allpage').val()); //是否請求出AJAX的“開關(guān)”; var onOff = true; $(window).scroll(function () { //拖動(dòng)滾條時(shí),是否發(fā)送AJAX的一個(gè)“開關(guān)” $('.topicBox').each(function () { //引用最后一個(gè)div var lastLi = $('.topicBox:last'); //調(diào)用是否進(jìn)入可視區(qū)域函數(shù) var isSee = see(lastLi); if (isSee && onOff && page < pageTotal) {//最底部元素可見,開關(guān)開啟而且還有下拉 //$('#loadNext').show(); //顯示正在加載圖標(biāo) onOff = false; $.ajax({ url: '/GetPageData', type: 'GET', dataType: 'json', data: { page: page+1 }, asyc: false, success: function (result) { if (result.status == 'success') { var data = result.result; for (var i = 0; i < data.length; i++) { //to do coding ... }; } //$('#loadNext').hide(); //隱藏正在加載 onOff = true; page ++; } }); } }); });
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript 注冊表訪問實(shí)現(xiàn)代碼
下面的代碼是讀取media palyer的默認(rèn)路徑。運(yùn)行后確認(rèn)即可,本程序沒有安全問題,大家放心測試。2009-07-07JavaScript代碼實(shí)現(xiàn)左右上下自動(dòng)晃動(dòng)自動(dòng)移動(dòng)
最近幾天做了一個(gè)項(xiàng)目,原來是用css3動(dòng)畫做的,由于不兼容IE,改成用js做了,特此分享給大家,供大家參考2016-04-04