如何使用jQuery显示/追加更多记录以滚动到底部

时间:2016-04-14 06:38:25

标签: jquery html css

我是jQuery的新手。我必须在我的网络应用程序中实现类似Facebook的功能,当用户滚动到底部时,会带来更多记录并附加/显示到页面。我已经能够成功发送ajax请求滚动到底部并获取记录。我从服务器带来的数据是完美的。但我不知道如何显示/追加该数据到页面。我尝试了一些东西并且失败了。请建议。

我的ajax电话:

var noOfMessageLoadsDone = 1;

$(window).scroll(function() {
 if($(window).scrollTop() + $(window).height() == $(document).height()) {
  if(!$.active){ 
    $.get(
    "/fetchMoreOnScroll",
    {loadsDone: noOfMessageLoadsDone},
    function(data) { 
      for (var i = 0; i < data.length; i++) {
        var datum = data[i];
        var el = $("div .container").find("div .container").first().clone();
        el.removeAttr("id");
        el.attr("statusId", datum.id);
        if(datum.statuserPicName){
          el.children('img').attr("src", "/images/"+datum.statuserPicName);
        }

        el.find('p').text(datum.statuserFirstName+' '+datum.statuserLastName+': ');

        $("div .container").find("div .container").append(el);
      };

      noOfMessageLoadsDone++;
    }
   );
  }  
 }
 });

同时建议是否有一个比我想做的更优雅的解决方案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我确信你已经阅读了append关于jQuery的文档。在你的情况下,附加应该发生在“.container”的末尾。但是在你的选择器中你似乎在“div”和“.container”之间有一个空格,它指出“.container”需要是一个“div”元素的子元素才能找到它。尝试使用选择器“div.container”。