2010-03-07 4 views
6

Est-il possible de définir la transparence de n'importe quelle image en javascript? Et comment puis-je faire ça?Image transparente - est-ce possible dans JS?

+0

Utilisez-vous une librairie javascript/cadre, ou juste vanille JS? –

+0

pour moi JS est un javascript brut. Donc je n'en utilise pas. – oneat

Répondre

8

Si vous utilisez simplement javascript cela devrait fonctionner:

function SetOpacity(imageid, opacity) { 
    var s= document.getElementById(imageid).style; 
    s.opacity = (opacity/100); 
    s.MozOpacity = (opacity/100); 
    s.KhtmlOpacity = (opacity/100); 
    s.filter = 'alpha(opacity=' + opacity + ')'; 
} 

Appel par: SetOpacity('myImg', 50); //Half transparent

Source here

+0

Serait plus efficace d'utiliser une variable pour opacity/100: var decentBrowserOpacityValue = opacity/100, OU laisser l'opacité être une valeur entre 0-1, et utiliser s.filter = 'alpha (opacité =' + (opacité * 100) + ')'; – KooiInc

+0

@Kooilnc - Possiblement, 1 assignation variable et 1 division moins cher que 3 divisions? Je ne suis pas sûr, mais je parie que c'est une différence infinitésimale de toute façon. Dans ce cas, la grande majorité de votre travail est le moteur de rendu du navigateur rendant l'image transparente ... la différence dans l'affectation des variables est une micro-optimisation qui rend le code moins lisible, donc j'ai tendance à rester loin de ces cas simples . –

+0

@Nick Craver - c'est micro en effet, mais vous savez comment c'est: de nombreux micros ont tendance à en faire un gros. Un autre point peut être la «microsoft orientedness» de la fonction, que j'ai abordée dans la clause OR. Eh bien, c'est une question de goût, je suppose. – KooiInc

3

Oui.

En utilisant jQuery:

$('#yourImageId').css('opacity', .5); 
Questions connexes