Angular Infinite Scroll:body 上的滚动条不在 div 上

Posted

技术标签:

【中文标题】Angular Infinite Scroll:body 上的滚动条不在 div 上【英文标题】:Angular Infinite Scroll: scroll bar on body not on div 【发布时间】:2016-09-24 01:15:16 【问题描述】:

我使用 angularjs 在我的网络应用程序中实现无限滚动。我在网络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"  style="">
  </div>
</div>

当我删除内联 css 时它不起作用。那么我怎样才能更改 body 中的无限滚动而不是 div?

【问题讨论】:

如果我没记错的话,内联样式是在它应该获取下一组数据(连续页面)时通知无限滚动。你想在身体水平上定义那个高度吗?? 我不想使用 div 滚动条。我需要使用 body 上的滚动条,它是浏览器中的主要滚动条。 我在某处看到它有效,如果没有,它会改变你的 css 样式: html,body height: 100%;溢出-x:隐藏; 并添加无限滚动容器="'body'" 【参考方案1】:

试试这个: &lt;body infinityscroll="NextPage()" style="height: 1000px; overflow:auto;"&gt; 并从您的 div 中删除无限滚动初始化。

您可能需要根据您的屏幕尺寸稍微调整高度。 希望这能解决您的问题.. :)

【讨论】:

对不起,我之前试过但它不起作用..还是谢谢你。 ;)

以上是关于Angular Infinite Scroll:body 上的滚动条不在 div 上的主要内容,如果未能解决你的问题,请参考以下文章

与 Ionic2 中的 ion-infinite-scroll 相关

ion-infinite-scroll 向上滚动时触发 - Ionic

Reactreact-infinite-scroll-component 实现滚动加载

“react-infinite-scroll-component” 一次调用后停止工作(loadMore 只被调用一次)

如何将infinite_scroll_pagination 用于块模式

ionic上拉加载组件 ion-infinite-scroll自动调用多次的问题