javascript - 如何使用 javascript 和 css 对弹出的消息进行动画处理或使用转换?
问题描述
我目前有我想要的消息显示和消失,但转换不起作用,这就是我尝试过的。
const alertMsg = document.querySelector('.alert');
contactForm.addEventListener('submit', formSubmitted);
function formSubmitted(e) {
//other stuff
alertMsg.style.display = 'block';
setTimeout(() => {
alertMsg.style.display = 'none';
}, 5000);
}
.alert {
transition: all 0.5s ease-out;
}
<div class="alert">Your message has been sent, I will get back to you as soon as possible.</div>
该消息只是立即消失并重新出现,我如何使用当前的过渡来制作某种动画?
这是我的第一个问题,很抱歉,如果我错过了任何信息,如果需要,我会添加更多。谢谢
解决方案
您不能转换(或动画)显示属性。该display
属性是打开或关闭的,没有任何东西可以转换或动画。
您可以做的是动画不透明度并在开始和结束时更改显示属性。
就像是:
@keyframes showBlock {
from { display: block; opacity: 0; }
to { opacity: 1; }
}
@keyframes hideBlock {
from { opacity: 1; }
to { opacity: 0; display: none; }
}
推荐阅读
- homebrew - 无法使用 Homebrew 安装 yap
- tensorflow - TensorFlow:嵌入模型不必要地使用过多的 GPU 内存
- jquery - 基于从 jquery 发送的值的烧瓶更新数据库
- javascript - React / Unit Test (Jest) click 方法与 preventDefault
- bash - 如果我的脚本正在由 SLURM 执行,如何获取另一个 bash 脚本?
- vba - 如何比较字符串和日期?
- visual-studio-code - 如何在 Visual Studio Code 1.3.x 中完全禁用“最近打开的文件”
- webpack - 从 ProvidePlugin 中排除模块
- javascript - 按钮类型“按钮”仅在“空格命中”时触发,当通过鼠标单击聚焦时
- reactjs - react component props does not have match