微信小程序?qū)崿F(xiàn)移動(dòng)端滑動(dòng)分頁(yè)效果代碼展示
2020-09-28
導(dǎo)讀:一般在PC上我們要分頁(yè)都是通過上一頁(yè)和下一頁(yè)來(lái)實(shí)現(xiàn)的,手機(jī)通過當(dāng)下滑到一定程度的時(shí)候自動(dòng)加載下一頁(yè)面。 實(shí)現(xiàn)思路:首先加載部分?jǐn)?shù)據(jù),當(dāng)下滑到某個(gè)元素可見的時(shí)候,如果還...
一般在PC上我們要分頁(yè)都是通過上一頁(yè)和下一頁(yè)來(lái)實(shí)現(xiàn)的,手機(jī)通過當(dāng)下滑到一定程度的時(shí)候自動(dòng)加載下一頁(yè)面。
實(shí)現(xiàn)思路:首先加載部分?jǐn)?shù)據(jù),當(dāng)下滑到某個(gè)元素可見的時(shí)候,如果還有數(shù)據(jù),則新發(fā)送請(qǐng)求,然后追加在當(dāng)前頁(yè)面。
-
//判斷元素是否進(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è)頁(yè)碼為當(dāng)前第一頁(yè)
-
var page = 1;
-
//獲得總頁(yè)碼
-
var pageTotal = parseInt($('#allpage').val());
-
//是否請(qǐng)求出AJAX的“開關(guān)”;
-
var onOff = true;
-
$(window).scroll(function () {
-
//拖動(dòng)滾條時(shí),是否發(fā)送AJAX的一個(gè)“開關(guān)”
-
$('.topicBox').each(function () {
-
//引用最后一個(gè)p
-
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 ++;
-
}
-
});
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
第二部分:如何開通一個(gè)小商店
您可能感興趣: 小程序開發(fā)
上一篇:微信小程序樣式介紹
下一篇:微信小程序入門之隱藏和顯示自定義的導(dǎo)航