Я создаю webapp используя AngularJS и пытаюсь создать анимацию перехода. Когда нажимается кнопка, содержимое должно исчезнуть более чем на 200 мс, перейти на новый контент, а затем снова исчезнуть более чем на 200 мс. Ниже приведена функция, которая называется ng-click на кнопке.AngularJS Подождите, пока функция завершится, пока не закончится
$scope.homeButton = function(){
\t fadeOut();
\t $scope.content="dolor sit amet";
\t fadeIn();
\t resetButtons();
\t $scope.homeButtonSrc = "res/homebuttonselected.png";
};
Однако, когда вызывается функция, содержание сразу меняется, а затем постепенно исчезает. Нажатие на кнопку снова переключает назад и вперед между замиранием в и из анимации. Ниже показаны fadeIn() и fadeOut().
var fadeOut = function fadeOut(){
\t var countDown = function(){
\t \t $scope.contentOpacity -= .01;
\t \t if($scope.contentOpacity > 0){
\t \t \t $timeout(countDown, 2);
\t \t }
\t }
\t $timeout(countDown, 2);
}
var fadeIn = function fadeIn(){
\t var countUp = function(){
\t \t $scope.contentOpacity += .01;
\t \t if($scope.contentOpacity < 1){
\t \t \t $timeout(countUp, 2);
\t \t }
\t }
\t $timeout(countUp, 2);
}
Любая помощь будет оценен по достоинству!
Большое спасибо, это сработало почти отлично! У меня возникли проблемы с этим, как вы писали. Я закончил удаление timeOut из начального вызова countUp() и countDown() и добавления возврата к $ timeout внутри этих функций и решил его. Я также, конечно, посмотрю на документацию ng-animate. – RyanM