Анимации AngularJS
- Предыдущая страница Включение AngularJS
- Следующая страница Маршрутизация AngularJS
С помощью CSS AngularJS предоставляет анимационные переходы.
Что такое анимация?
Анимация - это преобразование HTML-элементов, которое создает иллюзию движения.
instance
Отметьте флажок, чтобы скрыть DIV:
<body ng-app="ngAnimate"> Скрыть DIV:<input type="checkbox" ng-model="myCheck"> <div ng-hide="myCheck"></div> </body>
Приложение не должно быть забито анимациями, но некоторые анимации могут сделать приложение более понятным.
Что нужно?
Чтобы подготовить ваше приложение к анимации, вам необходимо включить библиотеку AngularJS Animate:
<script src="https://cdn.staticfile.net/angular.js/1.6.9/angular-animate.js"></script>
Затем, вы должны ссылаться на него в приложении ngAnimate
Модуль:
<body ng-app="ngAnimate">
Или, если у вашего приложения есть имя, установите ngAnimate
Добавьте в качестве зависимости модуля приложения:
instance
<body ng-app="myApp"> <h1>Скрыть DIV:<input type="checkbox" ng-model="myCheck"></h1> <div ng-hide="myCheck"></div> <script> var app = angular.module('myApp', ['ngAnimate']); </script>
Что такое ngAnimate?
ngAnimate
модуль добавляет и удаляет классы.
ngAnimate
Модуль не анимирует ваши HTML-элементы, но когда ngAnimate
Обратите внимание, что при возникновении некоторых событий (например, скрытие или отображение HTML-элемента) элемент получает некоторые предварительно определенные классы, которые можно использовать для создания анимации.
Инструкции для добавления и удаления классов в AngularJS включают:
ng-show
ng-hide
ng-class
ng-view
ng-include
ng-repeat
ng-if
ng-switch
ng-show
и ng-hide
Инструкции добавляют или удаляют ng-hide
Значения классов.
Другие инструкции добавляют их при входе в DOM ng-enter
значения классов, и добавят их, когда элемент будет удален из DOM ng-leave
атрибуты.
Когда элемент HTML изменяет положениеng-repeat
Инструкции также добавят ng-move
Значения классов.
Кроме того, в процессе анимации у HTML-элемента будет набор значений классов, которые будут удалены после завершения анимации. Например:ng-hide
Инструкции добавят эти значения классов:
ng-animate
ng-hide-animate
ng-hide-add
(Если нужно скрыть элемент)ng-hide-remove
(Если нужно показать элемент)ng-hide-add-active
(Если нужно скрыть элемент)ng-hide-remove-active
(Если нужно показать элемент)
Анимация с использованием CSS
Мы можем использовать CSS-транзиты или CSS-анимацию для добавления анимационных эффектов к элементам HTML. В этом руководстве мы покажем вам оба.
Чтобы узнать больше о CSS-анимации, изучите наши уроки по CSS-транзитам и CSS-анимации.
CSS-транзиты
CSS-транзиты позволяют вам в течение заданного времени平滑地将 значение CSS-атрибута изменить с одного на другое:
instance
when the DIV element gets .ng-hide
В классе, переход将持续 0.5 секунды, высота будет плавно переходить от 100px к 0:
@keyframes myChange { div { transition: all linear 0.5s; background-color: lightblue; height: 100px; } .ng-hide { height: 0; } </style>
CSS анимации
CSS анимации позволяют平滑地 изменять значение CSS свойства в течение заданного времени:
instance
when the DIV element gets .ng-hide
<style>
@keyframes myChange { from { to { height: 100px; } height: 0; } } div { height: 100px; background-color: lightblue; } div.ng-hide { animation: 0.5s myChange; } </style>
- Предыдущая страница Включение AngularJS
- Следующая страница Маршрутизация AngularJS