Opacity funktioniert nicht im Firefox!?

nitrobesim

Erfahrenes Mitglied
Hi Leute, ich hab folgenden Code
Code:
<SCRIPT language=JavaScript>
	   function pick(obj) {
       obj.filters.alpha.opacity=100;
       obj.filters.gray.enabled=false;
       }
       function unpick(obj) {
       obj.filters.alpha.opacity=100;
       obj.filters.gray.enabled=true;
       }
</SCRIPT>
.
Aber dieser funktioniert im Firefox irgendwie nicht. Im I.E. dafür ja. Was kann ich dagegen tun?
 
Hi,

die Eigenschaft für Mozillas heisst MozOpacity. Im Gegensatz zur filter-Eigenschaft des
IEs ist der Wertebereich nicht von 0 bis 100, sondern von 0.00 bis 1.00.

Die Anweisung für den IE
Code:
obj.filters.alpha.opacity=100;
würde für Mozillas wie folgt lauten:
Code:
obj.MozOpacity=1.00;
Ciao
Quaese
 
Hi,

ob es einen entsprechenden Filter zu gray für Mozillas gibt, weiss ich nicht. Aber du kannst ja die
Änderung über die Transparent des jeweiligen Elements anzeigen. Dazu musst du über eine
Browserweiche entscheiden, ob es sich um einen IE oder eine Mozilla-Engine handelt.

Eine mögliche Variante wäre:
Code:
// IE identifizieren
var blnIE = document.all&&!window.opera;
// Mozilla identifizieren
var strAgent = navigator.userAgent.toLowerCase();
var blnNS  =((strAgent.indexOf('mozilla')!=-1) && ((strAgent.indexOf('spoofer')==-1) && (strAgent.indexOf('compatible') == -1)));

function pick(strObj) {
  obj = (blnIE) ? document.all[strObj] : document.getElementById(strObj) ;
  if(blnIE){
    obj.style.filter = "alpha(opacity=50) gray()";
  }else if(blnNS){
    obj.style.MozOpacity = 0.50;
  }
}

function unpick(strObj) {
  obj = (blnIE) ? document.all[strObj] : document.getElementById(strObj) ;
  if(blnIE){
    obj.style.filter = "alpha(opacity=100)";
  }else if(blnNS){
  obj.style.MozOpacity = 1.00;
  }
}
Als Parameter wird der Funktion die ID des Elements übergeben, das manipuliert werden soll.
HTML:
<img onclick="pick('test');" id="test" src="bild.gif" />
Vielleicht hilft dir das weiter.

Ciao
Quaese
 
Ich möchte es aber für beide Browser machen und es ist ja nur, wenn man mit der Maus über den Button geht, dass er sich dann anders färbt.
 
nitrobesim hat gesagt.:
Ich möchte es aber für beide Browser machen
Dann musst du dir etwas anderes einfallen lassen....den Graufilter hat nur der IE.
Wenn du stattdessen z.B. eine Bildaustauschfunktion verwendest(mit jeweils Farb-und S/W-Version des gleichen Bildes), ginge dies z.B.
 
Und steht fest, ob Firefox das in naher Zukunft irgendwie auch mitsich tragen wird? Weil ich den Effekt schon sehr sehr gern behalten möchte, wie er ist.
 
Steht jedenfalls nicht auf der Projektliste vermekrt, aslo wirst du wohl noch eine gaaaanze Weile drauf warten dürfen, falls überhaupt.

Ich glaube, was du möchtest fällt nicht unbedingt mit dem zusammen, was die Mozilla-Entwickler möchten.
 

Neue Beiträge

Zurück