Re: Button ins Eingabeframe
Verfasst: 13.10.2009, 23:53
Hallo,
schöne Sache was du hier machst
Der Farbverlauf bei /col wird nicht per Javascript erzeugt, sondern serverseitig... Aus dem Script das du herausgesucht hast konnte ich allerdings etwas machen. Da ich nicht sicher war ob du es für direkte Ausgaben per Script brauchst oder ob die User Texte mit farbübergang verschicken können sollen habe ich es so angepasst dass auch normale User die texte in den Chat senden können (font tag statt span mit style-attribut) .
Versuchs mal damit
damit kannst du dann aus dem Stream (Ankündigung, Chatbefehle etc.) Texte mit Farbverlauf folgendermaßen generieren:
für einen ersten Test bietet sich document.write an...
aber darauf wärst du ja wahrscheinlich auch selbst gekommen 
Hoffe es bringt dich weiter
PS: der Übersicht halber habe ich die Kommentare alle rausgelöscht... evtl. solltest du eine art Copyright auf die Seite wo du es her hast wieder einsetzen
PPS: Der Code muss 6stellige Hex-Codes mit führender Raute übergeben bekommen, sonst funktionierts nicht.
Einen hab ich noch: Zu der Cursor-geschichte muss ich noch meinen Senf loswerden... sieh dir zu dem Thema das mal an, fand ich recht interessant: http://www.web-toolbox.net/webtoolbox/c ... cursor.htm
Den IE finde ich übrigens mal so gar nicht Programmiererfreundlich... versuchs mal mit der Erweiterung Firebug im Firefox... der sagt dir wirklich was für Fehler auftreten... macht die Suche viel einfacher als mit dem IE
schöne Sache was du hier machst

Der Farbverlauf bei /col wird nicht per Javascript erzeugt, sondern serverseitig... Aus dem Script das du herausgesucht hast konnte ich allerdings etwas machen. Da ich nicht sicher war ob du es für direkte Ausgaben per Script brauchst oder ob die User Texte mit farbübergang verschicken können sollen habe ich es so angepasst dass auch normale User die texte in den Chat senden können (font tag statt span mit style-attribut) .
Versuchs mal damit

Code: Alles auswählen
function transHex(hexchar) {
switch(hexchar.toLowerCase()){
case 'a':
return 10;
case 'b':
return 11;
case 'c':
return 12;
case 'd':
return 13;
case 'e':
return 14;
case 'f':
return 15;
default:
return 0;
}
}
function transNum(numchar) {
if(numchar<10)return ''+numchar+'';
switch(numchar){
case 10: return 'A';
case 11: return 'B';
case 12: return 'C';
case 13: return 'D';
case 14: return 'E';
case 15: return 'F';
default: return 0;
}
}
function getHex(num) {
num = parseInt(num)
hexchar1 = parseInt(num/16);
hexnum = transNum(hexchar1);
hexchar2 = num%16;
hexnum = hexnum + transNum(hexchar2);
return hexnum;
}
function getNum(hex) {
hex1 = parseInt(hex.substring(0, 1));
hex2 = parseInt(hex.substring(1, 2));
if (hex1*0 == 0) decnum = hex1*16; //wenn es eine zahl ist, ist es einfach
else decnum = (parseInt(transHex(hex.substring(0, 1)))*16); //ansonsten muss der buchstabe in eine zahl umgewandelt werden
if (hex2*0 == 0) decnum += hex2; // hier das gleiche
else decnum += (transHex(hex.substring(1, 2)));
return decnum;
}
function initFarb2Ch(startcolor, endcolor, text) {
var FarbString="";
// farben einlesen
SR = getNum(startcolor.substring(1,3));
SG = getNum(startcolor.substring(3,5));
SB = getNum(startcolor.substring(5,7));
ER = getNum(endcolor.substring(1,3));
EG = getNum(endcolor.substring(3,5));
EB = getNum(endcolor.substring(5,7));
l = text.length
//schritt zur jeweils nächsten farbe
NSR = (SR-ER)/l;
NSG = (SG-EG)/l;
NSB = (SB-EB)/l;
for (i = 0; i < text.length; i++) {
//farbe ausrechnen; noch dezimal
DR = SR - parseInt(NSR*i);
DG = SG - parseInt(NSG*i);
DB = SB - parseInt(NSB*i);
//in hexadezimal konvertieren
MR = getHex(DR);
MG = getHex(DG);
MB = getHex(DB);
//alert(MR+MG+MB);
FarbString += '<font color="#' + MR + MG + MB + '">' + text.substring (i,i+1) + '</font>';
//css by cordius
}
return FarbString;
}
Code: Alles auswählen
initFarb2Ch("#ff0000", "#00ffff", "Das ist ein Test");
Code: Alles auswählen
document.write(initFarb2Ch("#ff0000", "#00ffff", "Das ist ein Test"));

Hoffe es bringt dich weiter

PS: der Übersicht halber habe ich die Kommentare alle rausgelöscht... evtl. solltest du eine art Copyright auf die Seite wo du es her hast wieder einsetzen
PPS: Der Code muss 6stellige Hex-Codes mit führender Raute übergeben bekommen, sonst funktionierts nicht.
Einen hab ich noch: Zu der Cursor-geschichte muss ich noch meinen Senf loswerden... sieh dir zu dem Thema das mal an, fand ich recht interessant: http://www.web-toolbox.net/webtoolbox/c ... cursor.htm
Den IE finde ich übrigens mal so gar nicht Programmiererfreundlich... versuchs mal mit der Erweiterung Firebug im Firefox... der sagt dir wirklich was für Fehler auftreten... macht die Suche viel einfacher als mit dem IE