我正在使用angularjs进行无限滚动页面,当用户到达页面底部时会加载更多项目。我的问题是在无限滚动容器下可能有也可能没有更多“东西”。因此,如果用户到达页面底部,如果存在“东西”,我不想加载更多项目。所以当无限滚动容器到达容器的末尾而不是页面的末尾时,我想加载更多的项目。
对于无限滚动,我有一个这样的angularjs指令:
myApp.directive("scroll", function ($window) {
return function(scope, element, attrs) {
angular.element($window).bind("scroll", function(event) {
var docHeight = $(document).height();
var reachBottom = $($window).scrollTop() == (docHeight - $($window).height());
if (reachBottom) {
setTimeout(scope.loadMore(), 100);
}
});
};
});
答案 0 :(得分:0)
你可以在infiniti滚动容器下获得东西高度并使用它
var docHeight = $(document).height();
var stuffHeight = $('#stuff').height();
var reachBottom = $($window).scrollTop() == (docHeight - ($($window).height() + stuffHeight));
if (reachBottom) {
setTimeout(scope.loadMore(), 100);
}
答案 1 :(得分:0)
只有使用jQuery才能做到。请参阅下面的代码段。
<script>
$(function () {
var w = $(window);
loadNewPage();
// Each time the user scrolls
w.scroll(function () {
// End of the document reached?
if ($(document).height() - win.height() == win.scrollTop()){
loadNewPage();
}
});
});
</script>