Firebase + JQuery无限滚动

时间:2017-10-27 11:26:09

标签: javascript jquery firebase infinite-scroll

每当页面滚动到最大值时,我设法成功调用函数,但我不知道如何使该函数以正确的顺序从数据库中调用数据。这是我目前的代码:

function loadMoreData(num) {
  var rawDataRef = db.ref("chat/"+group);
  rawDataRef.on("value", function(data) {
    if (data.hasChildren() == true) {
      var uid = firebase.auth().currentUser.uid;
      var keys = Object.keys(data.val());
      var startAt = keys[num-1];
      var dataRef = db.ref("chat/"+group+"/").startAt(startAt).limitToLast(15);
      dataRef.on("value", function(snapshot) {
        var data = snapshot.val();
        var keys = Object.keys(data);
        for (var i = 0; i < keys.length; i++) {
          var k = keys[i];
          if (data[k].uid == uid) {
            $("#data").prepend('<div class="dataByMe">'+data[k].data+'</div><br><br>');
          } else if (data[k].uid != uid) {
            $("#data").prepend('<div class="dataByOthers">'+data[k].data+'</div><br><br>');
          }
        }
      });
    }
  });
}

我的代码显示了首次加载页面时的最后25个数据,然后,当页面滚动到顶部时,我需要在最后25个数据开始的点之前加载15个以上的数据,并将其显示在底部的最新数据的顺序。我到底该怎么做?

注意:dataByMe和dataByOthers类是因为我需要以不同的方式设置它们。

0 个答案:

没有答案