0

您好无限滚动为无限滚动我已经在JavaScript编写的一段代码,用于检测所述窗口角形JS

$(window).scroll(function(){ 
    if ($(window).scrollTop() == $(document).height() - $(window).height()){ 
      console.log("loading another page") 

      $scope.loadMoreLiveFeed(); 


    } 
}); 

我得到的端部在JSON 100柱的进料我将其划分为10块然后在向下滚动时调用loadMoreFeed函数。但为了表明我们正在加载帖子,我使用$ timeout在loadMoreLiveFeed代码中引入了1秒的延迟。这样我就可以拥有这种加载效果。

问题是当我添加这个延迟我的函数loadMoreLiveFeed被调用两次,一旦我删除延迟loadMoreLiveFeed函数被调用一次。 我没有得到为什么呼叫这里发生了两次

是我loadMoreLiveFeed功能

$scope.loadMoreLiveFeed = function() { 

    if(scrollFlag && counter<20){ 
    $(".loader").show(); 
    $(".viewAll").hide(); 

    timer = $timeout(function() { 
    for(var i =0; i<10; i++); 

    }, 500); 


    timer = $timeout(function() { 

    if($scope.tempPosts!= null) 
    { 

     for(var i =(10*counter); i < ((10*counter)+10) && counter < 20; i++) 
     {  console.log($scope.tempPosts[i].nid +" " +counter); 

       $scope.posts.push($scope.tempPosts[i]); 

     } 
     if(counter>=10){scrollFlag=false;} 
     counter++; 


    } 

    $(".loader").hide(); 
    $(".viewAll").show(); 

    }, 1000); 


} 
} 

您的帮助将是非常赞赏。

谢谢

回答

0

我会建议使用测试指令,将做到这一点。

看看这个:https://github.com/sroze/ngInfiniteScroll

+0

我使用它,但与nginfinitescroll与滚动问题上的立场的工作不适合我,因为它should.Any方式我解决了问题,感谢您的帮助 – 2014-09-25 09:17:57

+0

酷,用解决方案回答你的问题。它可能会在未来帮助别人。 – 2014-09-25 09:20:02

+0

我做过隐藏并在每次调用时都显示viewall div的隐藏和显示功能。理想情况下,查看所有帖子链接应在所有的饲料将加载后。所以我只是补充说,如果检查和它的工作。神奇的我会说 – 2014-09-25 09:23:11

0

我解决了问题,我只是增加了一个,如果所有的进料被加载,它的工作状态,以显示视图中的所有股利。呼叫自动同步。我只是在loadMoreLiveFeed函数的末尾改变该位

if (counter >= 10) { 
    $('.loader').hide(); 
    $('.viewAll').show(); 
}