【发布时间】:2022-12-17 22:49:12
【问题描述】:
在没有填充、高度或宽度的情况下,内容会在 5000 时间后消失。但是一旦我包含以下任何属性,背景在 setTimeOut() 之后仍然存在,只有文本消失。我怎样才能解决这个问题?你可以运行我的代码看看我的意思。
const msg = "Welcome";
document.getElementById("alarmmsg").innerHTML = msg;
setTimeout(function(){
document.getElementById("alarmmsg").innerHTML = '';
}, 4000);
.Javascript-Message-disappears-1{
width: 100px;
height: auto;
background-color: crimson;
text-align: center;
position: absolute;
top: calc(100vh - 70px);
padding: 20px;
box-sizing: border-box;
}
<body>
<div class="Javascript-Message-disappears-1" id="alarmmsg"></div>
</body>
【问题讨论】:
-
在您的
setTimeout()中,从元素中删除设置背景样式的类以及消息更新 -
或者您可以将其添加到您的 setTimeOut 中... document.getElementById("alarmmsg").style.backgroundColor = 'none'
-
除了删除
innerHTML,您还可以使用document.getElementById("alarmmsg").style.display = 'none';进行渲染,就好像该元素不存在一样 -
@mykaf 我能看看你是怎么做到的吗?我正在尝试上面的两种方法,但都没有用
-
@kazmi066 我能看看你是怎么做到的吗?我正在尝试上面的两种方法,但都没有用。仍然需要有背景,但它需要随着 setTimeOut() 消失
标签: javascript html css