jquery - 在页面中间居中 Div 在第二次显示之前不起作用

标签 jquery html css

我目前正在研究 HTML/CSS/Javascript。我有一个名为 message 的 div id 和一个显示消息的 javascript 函数,并且在这么多秒后调用另一个函数来隐藏它。

这一切都非常有效,除了第一次调用 showMessage 函数时消息 div 被稍微向右推(非常明显不在屏幕中央),然后在 5 秒后 hideMessage 运行并隐藏分区消息。

如果我随后再次调用 showMessage 函数,则 div 会正确地位于屏幕中间。

id 消息的 css 只得到 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 第一次出现在中间而不需要关闭和重新加载使其出现在中间。

感谢您提供的任何帮助。

最佳答案

通常,我不喜欢用:

    width:auto;

如果你试图让一个 div 居中。 分配一个宽度,

    margin:0 auto;

可以做到这一点。 还注意到您分配了一个没有在您的问题上发布的 css 的类。这也可能是问题所在。 如果您使用 chrome,在查看结果后,右键单击它,然后使用“检查”元素。这将打开检查器并向您显示所有可以引导您找到问题所在的 css(以及其他非常有用的东西)。 问候 路易斯

关于jquery - 在页面中间居中 Div 在第二次显示之前不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12755477/

相关文章:

jquery - 删除动态输入字段后,Datetimepicker 未正确调用/绑定(bind)

html - 如何在其表单的左上角对齐垂直旋转的文本标题?

html - Mozilla 中的 CSS Tab 问题

javascript - 向动态表添加一个 <tr> 元素,动态地无需刷新页面,php jquery

css - 为什么表格上方有空隙?

jquery kwicks 和 css

php - 使用一个输入提交多个变量

javascript - 如何让我的程序连续运行

html - 粗体和斜体在 Firefox 或 Chrome 中不起作用

html - 将样式应用于 COLGROUP 但仅在 TBODY(而不是 THEAD)内的 CSS 选择器?