как изменить анимацию для ng-include?

#angularjs #animation #angularjs-ng-include

#angularjs #Анимация #angularjs-ng-include

Вопрос:

У меня есть div с ng-include для отображения содержимого из внешних файлов.

 <div style="height:100%; width: 100%;" ng-class="animClass"
     ng-include="templateUrl"></div>
  

Чтобы назначить другую анимацию для изменений содержимого, я использую ng-class с присвоенным var animClass. Перед назначением нового templateUrl в обработчике кликов назначается новый animClass:

     var currNr;
    $scope.onClick = function (nr) {
    if (nr < currNr) {
        $scope.animClass = 'moveRight';
    } else {
        $scope.animClass = 'moveLeft';
    }
    currNr = nr;
    $scope.templateUrl = 'page'   nr   '.html';
    }
  

Чтобы анимировать изменение содержимого, я использую следующий JavaScript:

 app.animation('.moveLeft', function () {
return {
    enter: function (element, done) {
        element.css({
            position: 'absolute',
            width: '100%',
            left: '100%'
        }).animate({
            left: 0
        }, 1500, done);
    },
    leave: function (element, done) {
        element.css({
            position: 'absolute',
            width: '100%',
            left: '0%'
        }).animate({
            left: '-100%'
        }, 1500, done);
    }
}
});

app.animation('.moveRight', function () {
return {
    enter: function (element, done) {
        element.css({
            position: 'absolute',
            width: '100%',
            left: '-100%'
        }).animate({
            left: '0%'
        }, 1500, done);
    },
    leave: function (element, done) {
        element.css({
            position: 'absolute',
            width: '100%',
            left: '0%'
        }).animate({
            left: '100%'
        }, 1500, done);
    }
}
});
  

Я создал этот плунжер, и он работает почти нормально. При переходе со страницы 1 на страницу 4 используется анимация ‘moveLeft’, а со страницы 4 на 1 используется анимация ‘moveRight’.
Однако при изменении направления используется сочетание обеих анимаций.
Я понятия не имею, как это исправить.