AngularJS $ anchorScroll yOffset dans un élément enfant

D'après ce que je comprends $ anchorScroll, yOffset est impossible dans un élément enfant: "Pour que yOffset fonctionne correctement, le défilement doit avoir lieu sur la racine du document et non sur un élément enfant". Https://docs.angularjs.org/api/ng/service/ $ anchorScroll

Exemple (modifié à partir des docs AngularJS): je veux cliquer sur un lien et inclure le mot "entre" ci-dessus à quoi se déplace.

Index.html

<body ng-app="anchorScrollOffsetExample"> <div class="fixed-header" ng-controller="headerCtrl"> <a href="" ng-click="gotoAnchor(x)" ng-repeat="x in [1,2,3,4,5]"> Go to inner-anchor {{x}} </a> </div> <div id="anchor" class="anchor"> <div ng-repeat="x in [1,2,3,4,5]"> between <div id="innerAnchor{{x}}" class="anchor" >Inner-Anchor {{x}} of 5</div> </div> </div> </body> 

Style.css

  .anchor { border: 2px dashed DarkOrchid; padding: 10px 10px 200px 10px; max-height:500px; overflow-y: auto; } 

Script.js

 angular.module('anchorScrollOffsetExample', []) .run(['$anchorScroll', function($anchorScroll) { $anchorScroll.yOffset = 500; }]) .controller('headerCtrl', ['$anchorScroll', '$location', '$scope', function ($anchorScroll, $location, $scope) { $scope.gotoAnchor = function(x) { var newHash = 'anchor' + x; if ($location.hash() !== newHash) { $location.hash('innerAnchor' + x); } else { $anchorScroll(); } }; } ]); 

Http://plnkr.co/edit/yFj9fL3sOhDqjhMawI72?p=preview

Existe-t-il une bonne façon de le faire dans AngularJS (de préférence sans bibliothèques jQuery ou supplémentaires) sans bouger "entre" vers l'intérieur du DIV auquel je me déplace?

Pourquoi n'utilisez-vous pas une étiquette d'ancrage?

 <body ng-app="anchorScrollOffsetExample"> <div class="fixed-header" ng-controller="headerCtrl"> <a href="" ng-click="gotoAnchor(x)" ng-repeat="x in [1,2,3,4,5]"> Go to inner-anchor {{x}} </a> </div> <div id="anchor" class="anchor"> <div ng-repeat="x in [1,2,3,4,5]"> <!-- Add an anchor above the text, and we scroll here instead of the div --> <a name="innerAnchor{{x}}"></a> between <div class="anchor" >Inner-Anchor {{x}} of 5</div> </div> </div> </body>