Kleine Gallerie

Divi

Erfahrenes Mitglied
Hi Leute... wollte mir ne kleine Gallerie basteln ... hab dabei nur ein kleines Problem ... wenn ich die Bilder einfaden lasse klappt alles sauber - aber wenn ich sie ausfaden lassen will, dann warten sie erst, bis sie ganz da sind und unterbrechen nicht einfach den Fade-Vorgang... kann mir einer sagen, wo mein Denkfehler ist?

Code:
fadingIN = new Array();
for (i=0; i<number; i++) {
  fadingIN[i] = false;
}

function initfadein(__id) {
  fadingIN[__id] = true;
  fadein(__id);
}

function initfadeout(__id) {
  fadingIN[__id] = false;
  fadeout(__id)
}

function fadein(__id) {
	if ((parseInt(document.getElementById("bild"+__id).style.MozOpacity) < 100) & (fadingIN[__id] == true)) {
		document.getElementById("bild"+__id).style.MozOpacity = (parseInt(document.getElementById("bild"+__id).style.MozOpacity) + 2) + "%";
		if (fadingIN[__id] == true) {
			window.setTimeout("fadein("+__id+")", 200);
		}
	}
}

function fadeout(__id) {
	if ((parseInt(document.getElementById("bild"+__id).style.MozOpacity) > 30) & (fadingIN[__id] == false)) {
		document.getElementById("bild"+__id).style.MozOpacity = (parseInt(document.getElementById("bild"+__id).style.MozOpacity) - 2) + "%";
		if (fadingIN[__id] == false) {
			window.setTimeout("fadeout("+__id+")", 100);
		}
	}
}

Danke euch
 
Hi,

die Eigenschaft MozOpacity hat einen Wertebereich von 0.00 bis 1.00. Eine
Prozentangabe von 0 bis 100 ist mir nicht bekannt.
Da die hohen Werte nicht bekannt sind, bekommt die Opacity-Eigenschaft den
Wert 0 zugewiesen. Damit ist der Vergleich kleiner als 100 zu sein immer erfüllt
(Einblenden funktioniert). Auf der anderen Seite ist der Wert immer kleiner
als 30, so dass der Zweig zum Ausfaden nie erreicht wird (Ausblenden funktioniert
nie).
Wenn Du die Angaben zwischen 0.00 bis 1.00 prüfst, muss das mit Number()
geschehen.

Weiterhin muss in der if-Bedingung das Vergleichssymbol & doppelt stehen.
Code:
function fadein(__id) {
    if ((Number(document.getElementById("bild"+__id).style.MozOpacity) < 1.0) && (fadingIN[__id] == true)) {
        document.getElementById("bild"+__id).style.MozOpacity = (Number(document.getElementById("bild"+__id).style.MozOpacity) + 0.02);
        if (fadingIN[__id] == true) {
            window.setTimeout("fadein("+__id+")", 200);
        }
    }
}

function fadeout(__id) {
    if ((Number(document.getElementById("bild"+__id).style.MozOpacity) > 0.3) && (fadingIN[__id] == false)) {
        document.getElementById("bild"+__id).style.MozOpacity = (Number(document.getElementById("bild"+__id).style.MozOpacity) - 0.02);
        if (fadingIN[__id] == false) {
            window.setTimeout("fadeout("+__id+")", 100);
        }
    }
}
Ciao
Quaese
 
Nur schonmal als Info - ich habs irgendwo in nem Forum gefunden, dass -moz-opacity sowohl Werte zwischen 0 und 1, als auch Prozentangaben unterstützt (das faden klappt ja auch damit) - nur kann ich leider den Vorgang nicht anhalten ...
 

Neue Beiträge

Zurück