无限滚动json获得新结果

时间:2017-08-31 13:54:02

标签: javascript jquery json

我正在处理无限量的信息滚动。

我在一个jquery函数上调用了一个.each函数中的切片,默认情况下它是10,但我想,如果你向下滚动,数量会上升* 2倍。

但每次我滚动时,他都会在下面添加更多新项目。

但我想要的是,我有相同的10个项目,当我滚动10个或更多新项目将显示在默认数量的项目之下。

代码:

init(Req, State) ->
  {cowboy_rest, Req, State}.

content_types_provided(Req, State) ->
  error_logger:info_msg("Content negotiation~n"),
  {[
     {{<<"text">>, <<"html">>, '*'}, my_handler}
   ], Req, State}.

my_handler(Req, State) ->
  error_logger:info_msg("Got here~n"),      
  ...
  <handler logic>
  ...

我很想听到你的消息,非常感谢!

1 个答案:

答案 0 :(得分:2)

Ajax响应每次调用只返回10个项目,所以:

使用getEvents(0,10)进行第一次调用;返回一个包含10个元素的数组

使用getEvents(10,20)进行第二次调用;返回接下来的10个元素

...

使用getEvents调用N(N * 10,N + 1 * 10);

在你的函数中这样做:

// on page load run :
getEvents(10 , 20 );
// add counter 
var counter = 2;
// Each time the user scrolls
win.scroll(function() {
  // End of the document reached?
  if ($(document).height() - win.height() == win.scrollTop()) {
    $('#loading').show();

    getEvents(counter * 10 , ++counter * 10 );

  }
});

另外,尝试去除滚动事件

我希望这个帮助