Help- if bedinung
Jan Guth
- javascript
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
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
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.
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:
~~~javascript
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)