【发布时间】:2012-11-10 04:28:10
【问题描述】:
我在(ff、chrome 等)浏览器中使用style.opacity。
在 (ie6,7,8) 中,我正在使用 style.filter 但不起作用。
以下是我所做的:
targetElement.style.filter = 'alpha(opacity=30)'; // targetElement is div
之前的代码仅在 ie9 中可以正常工作,但在 ie6,7,8 中不能正常工作。为什么?
【问题讨论】:
-
这到底是什么意思?
DIV中有哪些元素?alpha(opacity=30)即使在 IE5 中也可以工作,所以发生了一些奇怪的事情,请发布更多代码。 -
问题:鉴于 IE9 支持标准的
opacity样式,您确定在 IE 中运行的不是您的标准代码而不是过滤器吗?我看不出过滤器在 IE9 中运行但在其他 IE 中不起作用的任何理由,但如果它一直失败但您的style.opacity在 IE9 中运行,那么事情就更有意义了。 -
我不得不说我从未尝试过使用 Javascript 设置过滤器样式。这似乎总是太麻烦了(尤其是围绕
filter风格的固有怪癖)。它确实有效:jQuery 能够使用它在 IE 中淡入淡出元素,但这仍然很麻烦。我的建议:如果您简单地将不透明样式放入 CSS 类中,并使用 Javascript 更改类名,事情会变得容易得多。
标签: javascript css internet-explorer