将时间戳合并到ajax加载数据无限滚动

时间:2015-12-06 02:48:39

标签: javascript php jquery html ajax

我编写了一个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)

0 个答案:

没有答案