Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Raphael不透明度不显示在IE上_Javascript_Raphael_Opacity - Fatal编程技术网

Javascript Raphael不透明度不显示在IE上

Javascript Raphael不透明度不显示在IE上,javascript,raphael,opacity,Javascript,Raphael,Opacity,在Internet Explorer上查看我的站点时,我遇到了一个div不透明的问题。使用Raphael 2.0(未缩小)我使用以下代码创建了一个矩形: var rIn = Raphael("myDiv", "100%", "100%"); rIn.rect(0, 0, "100%", "100%").attr({fill:"black", stroke:"none", opacity:0.6}); 在我的CSS文件中,如果我有使用opacity标记的透明div,我也会编写它includefi

在Internet Explorer上查看我的站点时,我遇到了一个div不透明的问题。使用
Raphael 2.0
(未缩小)我使用以下代码创建了一个矩形:

var rIn = Raphael("myDiv", "100%", "100%");
rIn.rect(0, 0, "100%", "100%").attr({fill:"black", stroke:"none", opacity:0.6});
在我的
CSS
文件中,如果我有使用
opacity
标记的透明div,我也会编写它include
filter
,这似乎对IE很有效

opacity:0.6; filter: alpha(opacity = 60); 

但是,Raphael似乎不允许将
过滤器
作为属性,因此该矩形根本不显示。这只是IE上的一个问题-它在Win/Mac上的FF/Chrome/Safarai上工作没有问题。

过滤器
仅适用于IE5-7。要支持IE8,您还需要在
过滤器
属性之前使用此属性:

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
这也应该对你有帮助


实际上,尝试一个类:

.opacity60 {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
}

并通过
setAttribute('class','opacity60')
调用将矩形的类设置为
opacity60

谢谢@Blender。我还可以为Raphael属性使用类似的属性吗?向Raphael对象添加一个类。我在
.css
中声明了一个类,并尝试使用以下
rIn.rect.setAttribute('class','opacity60')设置属性
但我在IE中收到了以下错误消息:
SCRIPT438:对象不支持属性或方法“setAttribute”
请参考
rect
的底层元素,如下所示:
rIn.rect.node.setAttribute('class','opacity60'))
。我尝试了@EliranMalka的建议,但收到以下错误消息
SCRIPT5007:无法获取属性“setAttribute”的值:对象为null或未定义
。我确实在CSS中声明了一个类。