我编写了一个Javascript函数,当您滚动到底部时,会将分页内容加载到页面上。此功能的目标是在滚动时增加页码,并将该特定页码添加到已显示的内容中,就像Facebook一样。
$(document).ready(function() {
$(window).scroll(function() {
var pagenumber = document.getElementById("pagenumber");
var results_box = document.getElementById("results_box");
var combo = pagenumber.innerHTML.split("|");
var pn = parseInt(combo[0]);
var last = parseInt(combo[1]);
results_box.innerHTML = "";
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
// ajax call get data from server and append to the div
results_box.innerHTML = "Loading...";
if (last != 1) {
if (pn < last) {
request_page(pn + 1);
} else if (pn == last) {
pagenumber.innerHTML = pn + 1 + "|" + last;
request_page(last);
} else {
results_box.innerHTML = "No More Content available";
}
}
}
});
});
ajax“loading ...”代码没有激活,但是当它随机发生时,它可能只加载两页或复制一些。我的猜想是,每个新页面请求都缺少时间戳。 在加载页面之前触发request_page函数一次,以显示第一页代码,单击时分页“下一步”按钮会准确地向页面添加新内容,所以我的问题是,如何将时间戳合并到此页面中有效地将数据加载到页面上?
为了清楚起见,有一个div显示您在总页面中的页码。 1 | 3,“last”变量是最后一页(3),“pn”页码变量是当前页面(1)