Habe mir mal die Mühe gemacht es zu überfliegen, korrigieren und zu Dokumentieren.
Ich weiß, es ist noch nicht 100%ig komplett und auch nicht wirklich gut gelöst. Aber immerhin ist es jetzt klar erkenntlich, was was macht und es macht das, was es machen soll. Egal, wie oft man auf besagten Link klickt.
<script language="JavaScript">
// Variablen
var X = new Array("F","E","D","C","B","A","9","8","7","6","5","4","3","2","1","0");
// Hexadezimale Zeichen
var x1 = 0, x2 = 0; // Zähler
var timeout = null; // Timer-Variable
// Schleifenfunktion
function setColor () {
document.getElementById("dertext").style.color = "#" + X[x1] + X[x2] + X[x1] + X[x2] + X[x1] + X[x2];
// Setzen der Farbe
x2++; // Hochzählen der Zählervariable x2
if (x2 >= 16) { // Wenn x2 Größer gleich 16
x2 = 0; // x2 auf 0
x1++; // Hochzählen der Zählervariable x1
}
if (X[x1] + X[x2] != "00") // Wenn Hexadezimalwert über "00" liegt
timeout = setTimeout("setColor()", 10); // Timer auf Timervariable legen
}
// Ende Schleifenfunktion
// Startfunktion
function startColor() {
clearTimeout(timeout); // Stoppen des ggf. aktuellen Timers.
x1=0; // Zurücksetzen der Variablen
x2=0; // Zurücksetzen der Variablen
timeout = setTimeout("setColor()", 10); // Starten des neuen Timers
}
// Ende Startfunktion
</script>
<h1 id="dertext"> Guten Tag </h1>
<a href="javascript:startColor()">Aufhellen</a>
Ich könnte es jetzt noch Dynamischer gestalten, sodass man bei der Startfunktion ein Objekt angeben kann, welches dann als Ziel für das Aufhellen genutzt wird. Aber das wäre jetzt n bissl zu Viel des Guten.
MFG
Griever