Dmitri Rettig: fadescript funzt net!

Beitrag lesen

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