javascript - 在 Angular 中的 CSS 转换后渲染 JS

标签 javascript html css angular angular-ng-if

所以我有一个按钮,当单击时 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/

相关文章:

css - 如何更正在输入标签后面滚动的自动完成 div

javascript - 在 javascript 中对正则表达式进行分组

javascript - 使用 ES6 语法导入类失败

javascript - 无法使用 JavaScript 删除事件监听器

html - Css 在 vue 组件中使聊天框位于其他内容的前面

html - 根据内部 float 元素设置div的大小

Javascript 坚持认为它没有定义,但它完全是

html - CSS:文本转换对土耳其字符无法正常工作

html - 谷歌/StackExchange 导航栏

javascript - 带有图像的 div 和下载所选图像的链接