В этой главе вы узнаете, как использовать CSS-анимацию в фреймворке Aurelia.
Шаг 1 — Просмотр
Наше представление будет иметь один элемент, который будет анимирован, и кнопку для запуска функции animateElement () .
app.html
<template> <div class = "myElement"></div> <button click.delegate = "animateElement()">ANIMATE</button> </template>
Шаг 2 — Просмотр модели
Внутри нашего файла JavaScript мы импортируем плагин CssAnimator и внедряем его как зависимость. Функция animateElement вызывает аниматора для запуска анимации. Анимация будет создана на следующем шаге.
import {CssAnimator} from 'aurelia-animator-css'; import {inject} from 'aurelia-framework'; @inject(CssAnimator, Element) export class App { constructor(animator, element) { this.animator = animator; this.element = element; } animateElement() { var myElement = this.element.querySelector('.myElement'); this.animator.animate(myElement, 'myAnimation'); } }
Шаг 3 — Стиль
Мы напишем CSS внутри файла styles / styles.css . .myAnimation-add является отправной точкой анимации, а .myAnimation-remove вызывается, когда анимация завершена.
styles.css
.myElement { width:100px; height: 100px; border:1px solid blue; } .myAnimation-add { -webkit-animation: changeBack 3s; animation: changeBack 3s; } .myAnimation-remove { -webkit-animation: fadeIn 3s; animation: fadeIn 3s; } @-webkit-keyframes changeBack { 0% { background-color: #e6efff; } 25% { background-color: #4d91ff; } 50% { background-color: #0058e6; } 75% { background-color: #003180; } 100% { background-color: #000a1a; } } @keyframes changeBack { 0% { background-color: #000a1a; } 25% { background-color: #003180; } 50% { background-color: #0058e6; } 75% { background-color: #4d91ff; } 100% { background-color: #e6efff; } }
После нажатия кнопки ANIMATE цвет фона изменится с светло-синего на темный оттенок. Когда эта анимация завершится через три секунды, элемент перейдет в исходное состояние.