Как прокрутить вниз, когда я опускаюсь в элементы, созданные с помощью ng-repeat
У меня есть список, созданный с помощью ng-repeat и двух кнопок для перехода вверх или вниз. Пользователь может выбрать любой элемент списка и перейти вверх или вниз с помощью двух кнопок.
Когда я опускаю выбранный элемент, нажимая кнопку "вниз", полоса прокрутки остается неподвижной, и я больше не могу видеть выбранный элемент.
Я хочу переместиться вниз по свитку, когда элемент станет скрытым.
1 ответ
Решение
<div class="panel-body panelBodySelectedData" style="padding-left: 10px">
<nav>
<ul ng-repeat="item in resultJson.items" class="nav nav-pills nav-stacked span2">
<li class="itemReporting" ng-click="selectItem($index)" ng-class="{selectedReportingItem: $index==selectedIndex}" >{{item.label}}</li>
</ul>
</nav>
</div>
$scope.goUp = function(){
if($scope.selectedIndex > 0){
console.log('goUp');
$scope.aux = $scope.resultJson.items[$scope.selectedIndex];
$scope.selectedIndex -- ;
$scope.resultJson.items[$scope.selectedIndex+1] = $scope.resultJson.items[$scope.selectedIndex];
$scope.resultJson.items[$scope.selectedIndex] = $scope.aux;
}
};
$scope.goDown = function(){
if($scope.selectedIndex < $scope.resultJson.items.length -1){
console.log('goDown');
$scope.aux = $scope.resultJson.items[$scope.selectedIndex];
$scope.selectedIndex ++ ;
$scope.resultJson.items[$scope.selectedIndex-1] = $scope.resultJson.items[$scope.selectedIndex];
$scope.resultJson.items[$scope.selectedIndex] = $scope.aux;
$location.hash('bottom');
// call $anchorScroll()
$anchorScroll();
}
};