Aurelia - Animações
Neste capítulo, você aprenderá como usar animações CSS no framework Aurelia.
Etapa 1 - Ver
Nossa visão terá um elemento que será animado e um botão para acionar o animateElement() função.
app.html
<template>
<div class = "myElement"></div>
<button click.delegate = "animateElement()">ANIMATE</button>
</template>
Etapa 2 - modelo de visualização
Dentro de nosso arquivo JavaScript, vamos importar CssAnimatorplugin e injete-o como uma dependência. oanimateElementfunção irá chamar o animador para iniciar a animação. A animação será criada na próxima etapa.
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');
}
}
Etapa 3 - Estilo
Vamos escrever CSS dentro styles/styles.css Arquivo. .myAnimation-add é o ponto de partida de uma animação enquanto .myAnimation-remove é chamado quando a animação é concluída.
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; }
}
Uma vez o ANIMATEfor clicado, a cor de fundo será alterada de azul claro para um tom escuro. Quando a animação estiver concluída após três segundos, o elemento voltará gradualmente ao seu estado inicial.