2010-07-01 94 views
2

如何在JavaScript中實現-ms-過濾器?-ms-filter with javascript

我試圖不工作的情況如下:

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

另一個問題。如果我想改變我使用(這又供職於一切,除了IE8)以下元素的字體顏色:

document.getElementById(ba[i]).style.color = '#B4D8FD'; 

回答

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> 

這不會工作:

<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> 
1

嘗試使用cssText屬性。

document.getElementById(ba[i]).cssText = 'color:#B4D8FD; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=' + value*10 + ');'; 
-3

的第一個問題,我認爲宥可以做

document.getElementById(ba[i]).style['-ms-filter'] = 'progid:DXImageTransform.Microsoft.Alpha(Opacity=' + value*10 + ')'; 

而對於問題2試試上面的方法以及。在IE

document.getElementById(ba[i]).style['color'] = '#B4D8FD'; 
+1

不工作: 的document.getElementById(BA [1])式[ ' - MS-濾波器'] – Jauzsika 2010-07-01 18:08:08