Hi,
<html>
<head>
<title>Fade</title>
<script type="text/javascript">
<!--
function fade(colorStart, colorEnd)
{
start = new Color(colorStart);
end = new Color(colorEnd);
// mit start.redDec kannst du z. B. den Dezimalwert des Rotanteils herauskriegen
// Analog dazu kannst du die Methode DecToHex schreiben.
// Zu bedenken wäre auch eine Universalmethode, die
// Eien Basis in eine Andere Umwandelt
// Sie könnte so aussehen
// umwandler(vonString, vonArray, nachString, nachArray)
// Dabei sind vonArray und nach Array die Zeichenarrays.
}
// Ein Objekt zum Abspeichern der Farbe wäre nicht schlecht
function Color(ColorString)
{
this.color = ColorString;
this.red = ColorString.substring(1, 2);
this.green = ColorString.substring(3, 4);
this.blue = ColorString.substring(5, 6);
this.redDec = HexToDec(this.red);
this.greenDec = HexToDec(this.green);
this.blueDec = HexToDec(this.blue);
}
// Funktion zum Umwandeln von Hexadezimalzahlen in Dezimalzahlen
function HexToDec(HexString)
{
hexZiffer = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
dec = 0; // Anfangswert
basis = 16; // Hexadezimalzahlen
for (i = 0; i < HexString.length(); i++) // Zeichen an Stelle i in HexString
{
for (j = 0; j < hexZiffer.length; j++)
{
if (HexString.charAt(i) == hexZiffer[j])
{
basis = basis + Math.pow(base, HexString.length()-1-i); // Potenz in umgekehrter Reihenfolge, und -1 weil fängt bei 0 an
break; // Weitere Vergleiche sind unnötig
}
}
}
return basis;
}
//-->
</script>
</head>
<body>
</body>
</html>
Ich habe mein Script nicht getestet. Er könnte auch Fehlerbehaftet sein.
MfG Dmitri