Lieber Patrick,
ich schätze einmal, dass Du die Einblend- oder Ausblend-Funktion einem einzigen Timeout exklusiv erlauben musst, damit sich verschiedene Timeouts nicht in die Quere kommen. Um nun dieses Vorhaben sinnvoll umzusetzen, stelle ich mir folgendes Szenario vor:
Eine setIntervall-Referenz "tickt" gemütlich vor sich hin. Die damit aufgerufene Funktion testet zwei Parameter. Ein Parameter, nennen wir ihn "anforderung", definiert, ob ein Einblend- oder Ausblend-Vorgang durchzuführen sei. Wenn dem so ist, dann wird dieser Parameter wieder geleert und eine solche Aktion gestartet. Die Fade-Funktion wird dann unterbrechungssicher abgearbeitet.
Sollte während eines Fadings wieder dieser erste Parameter mit einem gültigen Wert belegt werden, dann kann dieser ja verworfen werden, wenn der gerade laufende Fading-Vorgang dieser "Anforderung" entspricht. Sollte aber ein gegenteiliges Fading angefordert werden, so kann diese Anforderung in den zweiten Parameter, nennen wir ihn "Warteschleife", gesichert werden, bis das aktuell laufende Fading zu Ende ist.
Wenn ein Fading zu Ende ist, kann der zweite Parameter ("Warteschleife") geprüft werden. Ist er befüllt, wird ein neues Fading gemäß seiner gespeicherten "Anforderung" gestartet.
Was meinst Du dazu?
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)