- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務機構(gòu):新網(wǎng)數(shù)碼
原理
php部分檢測x-pjax頭 存在即返回頁面正文部分
滾動到底部時 發(fā)生ajax請求并附上x-pjax頭 寫入新標簽做第二頁
前端部分
scroll事件 當頁面滾動時觸發(fā)
ajaxloading為true才可以進行加載(防止多次ajax)
判斷當前地址是否為"/"或者"/page/"及"/category/"這樣的地址,是的話繼續(xù)判斷
判斷是否存在下一頁 存在的話進行頁面滾動判斷 是否到達頁面底部 到達進行ajax請求 并將ajaxloading設為false 防止再次請求
顯示加載動畫并請求 成功則寫入最后一個class為nextpage的標簽 并移除當前換頁欄 隱藏動畫 ajaxloading設置為true
var ajaxloading=true;
$(window).scroll(function() {
if (ajaxloading) {
var pagedz = window.location.pathname;
if (pagedz == "/" || pagedz.indexOf('/page/') == 0||pagedz.indexOf('/category/')==0) {
var url = $('.next:last>a').attr('href');
if (url&&url!=document.location.href) {
var scrollTop = $(this).scrollTop();
var scrollHeight = $(document).height();
var windowHeight = $(this).height();
if (parseInt(scrollTop + windowHeight)+2>= scrollHeight) {
ajaxloading=false;
$('.cssload-fond').show();
$.ajax({
url: url,
dataType: 'html',
timeout: 5000,
beforeSend: function(xhr) {
xhr.setRequestHeader('X-PJAX', 'true')
},
success: function(data) {
console.log('ok');
ajaxloading=true;
$('.nextpage:last').html(data);
var state = {
title: document.title,
url: url,
};
window.history.pushState(null, document.title, url);
$('.page-navigator:first').remove();
$('.cssload-fond').hide();
},
error: function(data) {
console.log("eero" + data);
sendmessage('ajax失敗');
$('.cssload-fond').hide();
}
})
}
}
};
};
});
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP