Hallo green3,
http://www.goletzko.design.tl/fadeeffect/fade3.htm
Tut nich? O.o
diese Zeilen
if( blue == blueE && red == redE && green == greenE ) {}
else {
setTimeout("wechsel()", 10); }
führen dazu, dass das Script abbricht. Lass mal das if-else weg und führe nur den setTimeout aus.
Aber viel wichtiger ist, dass du dir überlegst, in welcher Folge die R-, G- und B-Werte geändert werden sollen. Dazu benötigst du für jede Farbe den Start- und den Endwert sowie die Zahl der Schritte, die durchlaufen werden sollen. Daraus kanst du dann das Increment für jede Farbe berechnen:
dRot = (RotE - RotS) /nSchritte;
dGruen = (GruenE - GruenS)/nSchritte;
dBlau = (BlausE - BlauS) /nSchritte;
Rot = RotS;
...
und in der Timerfunktion dann:
Rot += dRot;
...
dann musst du noch runden:
r = Math.round(Rot);
...
Die Timerfunktion ruft sich dann so oft auf, bis die gewünschte Zahl der Schritte abgearbeitet ist, bzw. setzt die Farben wieder auf den Startwert oder dreht die Incremkente um oder ... .
Gruß, Jürgen