2016-05-26 89 views
0

我使用angularjs在我的web應用中實現無限滾動。我發現淨Infinite Scroll這個有用的指令,但問題是,這隻能內部DIV沒有滾動條體來實現:Angular Infinite Scroll:身體上的滾動條不在div

app.directive('infinityscroll', function() { 
    return { 
     restrict: 'A', 
     link: function (scope, element, attrs) { 
      element.bind('scroll', function() { 
       if ((element[0].scrollTop + element[0].offsetHeight) == element[0].scrollHeight) { 
        //scroll reach to end 
        scope.$apply(attrs.infinityscroll) 
       } 
      }); 
     } 
    } 
}); 

這裏是我的html代碼:

<div infinityscroll="NextPage()" style="height:700px; overflow:auto;" > 
    <div ng-repeat="item in listItems"> 
     <img ng-src="{{item.picture}}" alt="broken" style=""> 
    </div> 
</div> 

當我刪除內聯CSS它不會work.so我怎麼可以改變身體的無限滾動而不是div?

+0

如果我沒有錯,內聯樣式是當它應該獲取下一組數據(連續頁面)時通知無限滾動。 你想在身體層面定義身高嗎? – seekers01

+0

我不想使用div滾動條。我需要使用瀏覽器中主滾動條的滾動條。 – Amboom

+0

我看到了一個地方,它的作品,它會改變你的CSS風格,如果沒有:HTML,身體{ height:100%; overflow-x:hidden; }並添加infinite-scroll-container =「'body」「 – fsi

回答

0

試試這個: <body infinityscroll="NextPage()" style="height: 1000px; overflow:auto;"> 並從您的div中刪除infinitescroll初始化。

根據您的屏幕尺寸,您可能需要調整一點高度。 希望這可以解決你的問題.. :)

+0

抱歉,我之前嘗試過但它不工作..無論如何,謝謝。 ;) – Amboom