我目前正在研究 HTML/CSS/Javascript。我有一个名为 message 的 div id 和一个显示消息的 javascript 函数,经过这么多秒后调用另一个函数来隐藏它。
这一切都非常有效,除了第一次调用 showMessage 函数时,消息 div 稍微向右推(非常明显不在屏幕中心),然后在 5 秒后 hideMessage 运行并隐藏 div 消息。
如果我再次调用 showMessage 函数,则 div 将正确居中在屏幕中间。
id 消息的 css 只是 got display: none;
。
下面是 showMessage 函数在显示 div 之前添加的 messageError 类的 css。
.messageError
{
position: absolute;
top: -48px;
width: auto;
margin-left: auto;
margin-right: auto;
text-align: center;
background-color: #ff3d3d;
border: #c10000 solid thin;
border-radius: 5px;
color: white;
font-weight: bold;
}
下面是javascript使用的代码
function showMessage(persistent, message, type)
{
$('#message').css({
position:'absolute',
padding: '10px',
left: ($(window).width() - $('#message').outerWidth())/2
});
$("#message")
.hide()
.html(message);
if (type == "error")
{
$("#message").addClass("messageError");
}
else if (type == "workingComplete")
{
$("#message").addClass("messageWorkingComplete");
}
$("#message").fadeIn("slow");
if (!persistent)
{
setTimeout("hideMessage()", 5000);
}
}
function hideMessage()
{
$("#message")
.fadeOut("slow");
removeClass("messageError")
.removeClass("messageWorkingComplete")
}
我怎样才能使 div 第一次位于中间而无需关闭并重新加载以使其出现在中间。
感谢您的任何帮助,您可以提供。