jQuery -带滚动的延迟加载函数



我有一个页面加载5行结果,和5更多的点击。

所有我想做的是显示5更多的滚动,像一个懒惰的加载器,而不是点击…谢谢你的帮助。

$(function() {
  initShowMore();
  $("span#showMore a.moreResults").click(loadMoreResults);
});
function initShowMore() {
  var has_more = $("form#data input[name=has_more_results]").val();
  if (has_more) {
    $("table span#showMore").show();
  } else {
    $("table span#showMore").hide();
  }
}
function loadMoreResults() {
  if (loading) {
    return;
  }
  loading = true;
  var has_more = $("form#data input[name=has_more_results]").val();
  var page = parseInt($("form#data input[name=page]").val());
  var data = gatherQueryParams();
  data.page = page + 1;
  append = true; // global
  load(data);
}

您需要挂钩到scroll事件。据我所知,你的情况是相当简单的(例如,你不想加载与页面上的特定位置有关的结果),所以希望一些相当简单的代码将工作。:)

我添加了一个if来查看页面是否已经向下滚动到足够远,因为您可能只希望在某个点后触发它。

        $(document).scroll(function ()
        {
            if ($(document).scrollTop() > $(".someelement").position().top) loadMoreResults();
        });

最新更新