Ng-Анимация не работает для настройки "Скрыть и показать"
Я использую версию AngularJS 1.2.11. Я установил панель инструментов для перехода и перехода с помощью ng-Animate (показать и скрыть).
Вот HTML:
<div>
<div class="full-height">
<menu-main class="full-height pull-left"></menu-main>
<menu-sub class="full-height pull-left" ng-show="data.active" ng-animate="'animate'">
</menu-sub>
</div>
</div>
И вот CSS для одного и того же элемента панели инструментов
.animate.fade-hide, .animate..fade-show {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 3.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 3.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 3.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 3.5s;
}
.animate.fade-hide, {
position: fixed;
top: 500px;
opacity: 0.3;
}
.animate.fade-hide, .animate.fade-hide-active
{
position: fixed;
top: 500px;
opacity: 0.3;
}
.animate.fade-show {
position: fixed;
top: 100px;
opacity: 1;
}
.animate.fade-show, .animate.fade-show-active {
position: fixed;
top: 100px;
opacity: 1;
}
Анимация не работает, и я не уверен, правильно ли я делаю это.
Ответы
Ответ 1
Атрибут ng-animate устарел в 1.2 и больше не используется. Вместо этого анимации теперь основаны на классах.
Также убедитесь, что вы ссылаетесь на angular-animate.js
и добавляете ngAnimate в качестве зависимого модуля:
var app = angular.module('myApp', ['ngAnimate']);
Затем вы называете свои анимации, например "fadein" и "fadeout", и украшаете их некоторыми дополнительными классами, следуя специальному соглашению об именах, которое можно найти в Angular документация.
Другим хорошим источником по теме является Год му.
Пример Fadein:
/* After the transition this will be the only class remaining */
.fadein {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
opacity: 1; /* Default value but added for clarity */
}
/* Initial state when showing */
.fadein.ng-hide-remove {
opacity: 0;
display: block !important;
}
/* Will transition towards this state */
.fadein.ng-hide-remove.ng-hide-remove-active {
opacity: 1;
}
Демо: http://plnkr.co/edit/V9w2EwUh0unszf62TZZB?p=preview