【发布时间】:2013-12-25 12:48:48
【问题描述】:
我正在尝试使用这个AngularJS infinite-scroll 指令。这是来源:
angular.module('infiniteScroll', [])
.directive('infiniteScroll', [ "$window", function ($window) {
return {
link:function (scope, element, attrs) {
var offset = parseInt(attrs.threshold) || 0;
var e = element[0];
element.bind('scroll', function () {
if (scope.$eval(attrs.canLoad) && e.scrollTop + e.offsetHeight >= e.scrollHeight - offset) {
scope.$apply(attrs.infiniteScroll);
}
});
}
};
}]);
这似乎只适用于滚动框中包含的元素。 Here's a Plunker which demonstrates this.
但是,我希望能够将这个简单的指令应用于静态的 DOM 元素,当元素接近窗口滚动的底部时调用 scope.$apply(attrs.infiniteScroll)。
关于如何修改指令以允许这样做的任何想法?我尝试将e.scrollTop 更改为window.scrollTop,但无济于事,不幸的是,这超出了我目前的技能水平。
【问题讨论】:
标签: javascript html angularjs angularjs-directive infinite-scroll