Javascript 角度2按钮单击动画
我想动画缩小,然后缩小效果对每个按钮点击。以下是我尝试过的:Javascript 角度2按钮单击动画,javascript,css,animation,angular,Javascript,Css,Animation,Angular,我想动画缩小,然后缩小效果对每个按钮点击。以下是我尝试过的: <button (click)="clickMe()" [ngClass]="{'animated-button': animated}">Button</button> 以下是我的组件: ... animated: boolean = false; clickMe() { this.animated = true; } 这只在第一次单击时起作用,这是有意义的,因为我的动画变量永远不会设置回false
<button (click)="clickMe()" [ngClass]="{'animated-button': animated}">Button</button>
以下是我的组件:
...
animated: boolean = false;
clickMe() {
this.animated = true;
}
这只在第一次单击时起作用,这是有意义的,因为我的动画
变量永远不会设置回false
。但是,如果我在clickMe()
中将其设置回false
,动画将没有时间执行。也许这甚至不是实现这一点的正确方法。请告知!谢谢。您可以通过附加来切换布尔值(真/假)代码>
animated: boolean = false;
clickMe() {
this.animated = !this.animated;
}
添加延迟以将动画变量设置为false
clickMe() {
this.animated = true;
delay(500).then(() => this.animated = false);
}
async function delay(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
把它变成指令会很好,不是吗?(避免每次都要冗余地处理一个无用的状态变量)
clickMe() {
this.animated = true;
delay(500).then(() => this.animated = false);
}
async function delay(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
}