![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Jan Guth, 31. 08. 2005, 02:33
wenn ich bei diesem teil meines scriptes die if-bedinungen lösch (also false oder true) einsetze funktioniert es (=> also gibt mir was aus). Aber wenn die if-bedinungen drin sind gibt es mir keine Ausgabe mehr hab ich hier irgendwo ein sytax fehler?
if(rot < 0)
var tmprot = Math.max(0, (rot-minus)).toString(16);
if(rot > 255)
var tmprot = Math.min(255, (rot-minus)).toString(16);
if(rot <= 255 && rot >= 0)
var tmprot = (rot-minus).toString(16);
var count = tmprot.toString();
if(count.length<2)
var tmprot = "0" + tmprot;
if(gruen < 0)
var tmpgruen = Math.max(0, (gruen-minus)).toString(16);
if(gruen > 255)
var tmpgruen = Math.min(255, (gruen-minus)).toString(16);
if(gruen <= 255 && gruen >= 0)
var tmpgruen = (gruen-minus).toString(16);
var count = tmpgruen.toString();
if(count.length<2)
var tmpgruen = "0" + tmpgruen;
if(blau < 0)
var tmpblau = Math.max(0, (blau-minus)).toString(16);
if(blau > 255)
var tmpblau = Math.min(255, (blau-minus)).toString(16);
if(blau <= 255 && blau >= 0)
var tmpgruen = (gruen-minus).toString(16);
var count = tmpblau.toString();
if(count.length<2)
var tmpblau = "0" + tmpblau;
return(tmprot + tmpgruen + tmpblau);
jan
Die folgende Nachricht zum Thema stammt von: Detlef G., 31. 08. 2005, 03:01
Hallo jan
»» wenn ich bei diesem teil meines scriptes die if-bedinungen lösch (also false oder true) einsetze funktioniert es (=> also gibt mir was aus). Aber wenn die if-bedinungen drin sind gibt es mir keine Ausgabe mehr hab ich hier irgendwo ein sytax fehler?
»»
»» if(rot < 0)
»» var tmprot = Math.max(0, (rot-minus)).toString(16);
»» ...
Was genau enthält "rot"?
Hast du das kontrolliert?
Bzw. woher bekommen die Variablen ihren Inhalt?
Auf Wiederlesen
Detlef
--
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!
Die folgende Nachricht zum Thema stammt von: Struppi, 31. 08. 2005, 09:21
»»
»» if(rot < 0)
»» var tmprot = Math.max(0, (rot-minus)).toString(16);
»» if(rot > 255)
»» var tmprot = Math.min(255, (rot-minus)).toString(16);
»» if(rot <= 255 && rot >= 0)
»» var tmprot = (rot-minus).toString(16);
»» var count = tmprot.toString();
»» if(count.length<2)
»» var tmprot = "0" + tmprot;
Das sieht ja so aus, als ob du aus dezimalen RGB Werten Heaxadezimale machen willst. Nur was dieses - minus bedeutet ist unklar, zu ziehst noch einen Wert ab, aber was für einen?
Vor allem sind deine if Bedingungen doppelt gemoppelt.
if( x > 255) x = Math.min(x, 255);
Das ist Blödsinn, enweder nur:
if( x > 255) x = 255;
oder
x = Math.min(x, 255);
Struppi.
--
Javascript ist toll
Die folgende Nachricht zum Thema stammt von: Gunnar Bittersmann, 31. 08. 2005, 12:03
Jan,
Du kannst hier ein wenig optimieren: Nachdem du
if(rot < 0)
abgefragt hast, musst du
if(rot > 255)
nur noch abfragen, wenn die erte Bedingung nicht erfüllt war.
if(rot <= 255 && rot >= 0)
trifft schon zu, wenn beide vorigen Bedingungen nicht erfüllt wurden, muss also gar nicht mehr abgefragt werden.
Nutze den else-Zweig:
if(rot < 0) {}
else if(rot > 255) {}
else {}
Live long and prosper,
Gunnar
--
„Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
© 1998-2006
Impressum, Software: Classic Forum