所以我有一个按钮,当单击时 onGoToAbout
函数被调用。此函数将元素高度设置为 0,并将 desk
bool 变量设置为 false
。此变量连接到元素 *ngIf
。
我的问题是 *ngIf
在我的 CSS 转换发生之前执行。我在想我需要某种延迟,但不知道如何实现!
下面是我的代码。使用 jQuery 不是一种选择。
onGoToAbout(event) {
document.getElementById("slideshow").style.height = "0vh";
this.desk = false;
}
最佳答案
简单地用超时延迟this.desk = false
:
setTimeout( () => { this.desk = false }, 500 )
这样,您的 CSS 过渡将执行,然后在 500 毫秒后,该变量将设置为 false。
此外,当然 jQuery 不是 Angular 应用程序中的一个选项 :) document.getElementById
甚至不应该被使用,因为它不是 angular-y,但假设它只完成执行 CSS 转换,没关系。
关于javascript - 在 Angular 中的 CSS 转换后渲染 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57494423/