jquery - 摆脱 jQuery/CSS IE slideUp flash?

标签 jquery css internet-explorer

我有一个非常简单的脚本,可以从页面顶部向下滑动一条消息,然后在几秒钟后将其向上滑动。在 FireFox、Chrome 等中工作正常,但在 IE(6 到 8)中,在 slideUp 完成后,div 在消失之前以全尺寸显示一小会儿,产生令人讨厌的闪光。关于如何摆脱这个的任何想法?

这是完整的页面:

<html>
    <head>
        <title>Alert Drawer</title>
        <script type="text/javascript" src="../jquery.js"></script>
        <style>
#drawer { 
    background-color: yellow;
    overflow:visible; position:fixed; left:0; top:0;
    text-align:center;
    padding:15px; font-size:18px; border-bottom:2px solid #789;
    width:100%; display:none; z-index:2;
}
        </style>        
    </head>
    <body>
<div id="drawer"></div>
<p>
    <br><br><br><br><br><br><br><br>
    <a href="#doit">Show the alert drawer!</a>
</p>
    </body>
<script type="text/javascript">//<![CDATA[
$(function() {
    var drawer = $('#drawer');
    $('a').click( function() {
        drawer.html("<center>Hey Man!<br>This is a message.</center>");
        drawer.slideDown( function() {
                drawer.css("backgroundColor", "orange");
                setTimeout(function() { drawer.css("backgroundColor", "yellow"); }, 1000);
            }
        );
        setTimeout(function() { drawer.slideUp(); }, 3000);
        return false; 
    });
});
//]]></script>

</html>

最佳答案

简短的回答,这是因为 IE 不知道您的 html 文档的文档类型是什么,因此它会返回以怪癖模式显示它。要删除它,只需通过将以下代码添加到页面的头部来声明您的文档类型。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

要彻底了解此问题并详细了解大多数浏览器将呈现您的页面的两种不同“模式”,请阅读 quirks mode and strict modequirksmode.org .

关于jquery - 摆脱 jQuery/CSS IE slideUp flash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1747272/

相关文章:

css - 嵌入式 WebBrowser 控件不遵守 @media max-width 属性

javascript - document.getElementById ("…").className = "…";无法在 IE 中工作

javascript - 脚本在进度条开始之前执行

javascript - 使用 Ratchet 框架切换事件类

html - 带有负 z-index 的链接在 IE 中不可点击

html - 将两个无序列表放在一个下方,作为下拉导航的准备

javascript - jQuery 侧边栏会切换,但不会向后滑动

javascript - 测试空的 jQuery 选择结果

javascript - jQuery 对象构造函数 - 调用自身的方法

javascript - 为什么平滑滚动不起作用?