Javascript 带显示的嵌套HTML元素:无在IE8中不起作用
我使用jQuery淡入包含Javascript 带显示的嵌套HTML元素:无在IE8中不起作用,javascript,jquery,css,internet-explorer,html,Javascript,Jquery,Css,Internet Explorer,Html,我使用jQuery淡入包含元素的元素 外部元素是显示:无,位置:固定,和z索引:5。内部元素为位置:绝对 基本上,文章给出了一个框架,内部部分保存了内容并有一个滚动条 我逐渐淡入外部元素,并期望内部也会如此 在IE9+、FF和Chrome中,它可以按预期工作 在IE8中,它不是。外部文章根本不会淡入-保持不可见,内部部分相对于浏览器框架定位,并且始终可见。页面上的其他元素都是歪斜的,页面基本上没有功能 代码示例: article { display: none; position: fi
元素的
元素
外部元素是显示:无
,位置:固定
,和z索引:5
。内部元素为位置:绝对
基本上,文章给出了一个框架,内部部分保存了内容并有一个滚动条
我逐渐淡入外部元素,并期望内部也会如此
在IE9+、FF和Chrome中,它可以按预期工作
在IE8中,它不是。外部文章根本不会淡入-保持不可见,内部部分相对于浏览器框架定位,并且始终可见。页面上的其他元素都是歪斜的,页面基本上没有功能
代码示例:
article
{
display: none;
position: fixed;
z-index: 5;
}
section
{
position: absolute;
top: 10px;
right: 10px;
bottom: 10px;
left: 10px;
overflow: auto;
}
及
IE8及以下版本不支持HTML5标记,如文章
和部分
IE8及以下版本不支持HTML5标记,如文章
和部分
我创建了一个新的JSFIDLE,用div替换了article/section标记。它现在工作得更好了,但是内部div始终可见,而不管外部div的当前不透明度如何。请参见:这是IE中动画的工作方式。-工作如预期。第一次延迟只是为了显著性。好的,我可以这样做。但这是一个非常简单的例子。在我的真实页面中,我在#eSection内的几十个级别中有无数嵌套元素。我是否需要fadeIn()每个级别中的每个元素,还是因为#eSection是position:absolute,这使得IE这么做?我是否需要法代因()所有位置:绝对后代?谢谢阿泰姆。这将如何影响性能?如果我有一个bajillion子元素,javascript引擎疯狂地试图为它们的不透明性设置动画,那么普通的计算机会结巴吗?我的开发机器是一个野兽,所以对我来说运行非常平稳。您的方法与仅在父元素中设置动画(如我的原始示例中)之间是否存在性能差异?用户看到了同样的东西,但是JS正在为所有子元素制作动画,而不是一个。是的,IE中的选择器和动画非常慢,尤其是在大型DOM中。查看此演示文稿,了解jQuery性能提示和技巧:。我要使用的第一件事是缓存选择器的容器:我创建了一个新的JSFIDLE,用div替换article/section标记。它现在工作得更好了,但是内部div始终可见,而不管外部div的当前不透明度如何。请参见:这是IE中动画的工作方式。-工作如预期。第一次延迟只是为了显著性。好的,我可以这样做。但这是一个非常简单的例子。在我的真实页面中,我在#eSection内的几十个级别中有无数嵌套元素。我是否需要fadeIn()每个级别中的每个元素,还是因为#eSection是position:absolute,这使得IE这么做?我是否需要法代因()所有位置:绝对后代?谢谢阿泰姆。这将如何影响性能?如果我有一个bajillion子元素,javascript引擎疯狂地试图为它们的不透明性设置动画,那么普通的计算机会结巴吗?我的开发机器是一个野兽,所以对我来说运行非常平稳。您的方法与仅在父元素中设置动画(如我的原始示例中)之间是否存在性能差异?用户看到了同样的东西,但是JS正在为所有子元素制作动画,而不是一个。是的,IE中的选择器和动画非常慢,尤其是在大型DOM中。查看此演示文稿,了解jQuery性能提示和技巧:。我要使用的第一件事是缓存选择器的容器:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<article id="contentFrame">
<section id="content">
Lorem Ipsum
</section>
</article>
</body>
</html>
$("#contentFrame").fadeIn(2000);