0

是的,我在网上看到了大量关于这个问题的帖子,但我似乎无法让我的不透明性在 Internet Explorer 5+ 中使用。

var container_div = document.getElementById(id);       
var container_filter = 0;
container_div.style.filter = container_filter;

这在所有其他标准浏览器中都有效。

var container_div = document.getElementById(id);       
var container_opacity = 0;
container_div.style.opacity = container_opacity;
4

1 回答 1

1

IE5?认真的???

无论如何,简短的回答是 IE 的filter风格比这复杂得多,因为它处理许多不同的效果。您需要设置整个过滤器字符串,而不仅仅是一个整数值。

语法相当复杂,并且在 Javascript 中不太容易使用。结果也可能有点偶然。它并不总是很好,即使你做对了。

与其试图告诉你如何完成这项filter工作,我将向你介绍一个可能使事情变得更容易的第三方 Javascript 库:cssSandpaper

cssSandpaper 是一个 JS 库,它在旧版本的 IE 中实现了几个现代 CSS 功能。

然后,您可以使用 CSS 为 IE 设置不透明度,如下所示:

opacity: 0.3;

...或像这样的Javascript:

cssSandpaper.setOpacity(container_div, 0.3);

这两个示例都根据我上面链接的页面上的文档。

注意:我非常怀疑这个库是否可以与 IE5 一起使用,但坦率地说,不要让你担心。现在大多数人甚至支持 IE6 都被认为是浪费时间。

于 2013-02-27T21:06:54.910 回答