2010-07-01 10 views
2

Comment implémenter le filtre -ms en javascript?-ms-filter avec javascript

J'ai essayé le suivant qui ne fonctionne pas:

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

Une autre question. Si je veux changer la couleur de police d'un élément je les éléments suivants (qui a travaillé dans tout sauf IE8 à nouveau):

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

Répondre

6

Voici votre référence:

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

Si vous voulez use -ms-filter, utilise ces

Notez que le filtre css doit être défini sur l'élément en tant qu'attribut de style inline ou par une classe, sinon la propriété filters.item est inaccessible !!

Quelques exemples de code:

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

Ce ne fonctionnera pas:

<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

Essayez d'utiliser l'attribut cssText.

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

La première question que je pense que yuo peut faire

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

Et pour la question 2 essayez la aswell méthode ci-dessus.

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

ne fonctionne pas dans IE:. document.getElementById (ba [i]) de style [ '- ms-filtre'] – Jauzsika