PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : warum funzt dieses javascript im firefox nicht?


Mark
2005-03-22, 13:48:47
warum funzt dieses script nicht im firefox? im ie gehts wunderbar

nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
if (object != "[object]"){
setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
return;
}
clearTimeout(nereidFadeTimers[object.sourceIndex]);
diff = destOp-object.filters.alpha.opacity;
direction = 1;
if (object.filters.alpha.opacity > destOp){
direction = -1;
}
delta=Math.min(direction*diff,delta);
object.filters.alpha.opacity+=direction*delta;
if (object.filters.alpha.opacity != destOp){
nereidFadeObjects[object.sourceIndex]=object;
nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
}
}


zu bestaunen ist es hier in der navbar (effekt ist nur sehr dezent eingesetzt, genaues hinschaun von nöten)

das script soll bei einem image den kontrast verringern

http://skyworxx.sk.ohost.de/newdesign/index.php?go=news

Sephiroth
2005-03-22, 16:01:42
Weil es nur beim IE geht (aus zweierlei Gründen)
1.) if (!document.all)
return
document.all gibt es nur beim IE, bei allen anderen gibt die funtion also nichts zurück (sprich macht nix).

und

2.) Die Filter Methoden gibt es nunmal nur beim IE.

Wenn du Transparenz bei Mozilla nutzen willst, dann mußt du mit dem Mozilla spezifischen CSS Attribut -moz-opacity arbeiten. Das Attrib. opacity gibt es erst mit CSS3.

p.s.
da wo du das Script her hast, steht sicherlich auch das, daß es nur beim IE geht. http://www.devmag.net/tricks/js/javascript_4.htm

Gast00
2005-03-22, 16:15:15
Sehr einfache Methode:

Extras -> Javascript-Konsole.