2

我想获得滚动条的实际位置(scrollY),如下所示。 http://plnkr.co/edit/45gKhAIt0DrozS7f0Bz2?p=preview
我需要为我的 div 而不是整个窗口获取这种类型的滚动结果。我怎么能在angularjs中做到这一点?

angular.element($window).bind('scroll',function(){
    console.log(' --- You scrolled - do $digest() ---')
    $scope.scrollY = $window.scrollY;
    $scope.$digest();
})
4

1 回答 1

9

这里不是角度的,只是标准的 JavaScript:.scrollTop

yourDiv.scrollTop

示例: http: //jsfiddle.net/TheSharpieOne/Tf7bq/2/(该值记录在控制台中。)

更新

更改侦听器以侦听 div 上的滚动。Angular 没有很好的方法来监听滚动(就像它监听某些其他事件一样),所以使用了标准的 JavaScript 事件监听器。您可以将其包装在指令中以使其更具角度。

新示例:http: //jsfiddle.net/TheSharpieOne/Tf7bq/4/

yourDiv.addEventListener('scroll',function(){

    console.log(this.scrollTop);

});
于 2013-09-06T20:23:24.480 回答