-ms-filter with javascript

nic*_*cky 2 html javascript css internet-explorer-8

如何在javascript中实现-ms-filter?

我尝试了以下不起作用:

document.getElementById(ba[i]).style.sFilter = 
      'progid:DXImageTransform.Microsoft.Alpha(Opacity=' + value*10 + ')';
Run Code Online (Sandbox Code Playgroud)

另一个问题.如果我想更改元素的字体颜色,我使用了以下内容(除了IE8之外的所有内容都有效):

document.getElementById(ba[i]).style.color = '#B4D8FD';
Run Code Online (Sandbox Code Playgroud)

Jau*_*ika 6

以下是您的参考:

http://msdn.microsoft.com/en-us/library/ms532847(VS.85).aspx

如果要使用-ms-filter,请使用这些

请注意,必须在项目中将css过滤器定义为内联样式属性或类,否则filters.item属性不可访问!

一些示例代码:

<style>
.macska 
{
    opacity:1;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
    filter:alpha(opacity=100);
}
</style>

<div id="xxx" style="background-color: #CCC; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100)" class="macska">
CONTENT
</div>

<script>
o = document.getElementById('xxx');
o.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 20;
</script>
Run Code Online (Sandbox Code Playgroud)

这不会工作:

<style>
.macska 
{
    opacity:1;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
    filter:alpha(opacity=100);
}
</style>

<div id="xxx" style="background-color: #CCC;>
CONTENT
</div>

<script>
o = document.getElementById('xxx');
o.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 20;
</script>
Run Code Online (Sandbox Code Playgroud)