Der Martin: Funktions-Schleife "hängt" nach erster Funktion

Beitrag lesen

Hallo,

Stop. Was passiert bis hierher?
Es ist doch so:
if (style=='so wird es sein'){
   style='so ist es'
   }else{
   style='ansonsten so'
   }

Philosophieren bringt uns hier nicht weiter. Ich habe ganz bewusst empfohlen, dass du den Inhalt von 'style' überprüfen solltest. Nicht *mutmaßen*, sondern *nachprüfen*.

Welche Anweisung (welcher Zweig) wird ausgeführt, welche nicht?
Um das logisch nachzuvollziehen, solltest du nachprüfen, was in deiner Variablen style steht. Du wirst staunen.
Habe ich gemacht, ...

Hast du nicht.

... bin aber nicht zum staunen gekommen:
body {
color: #000000;
background: #ffffff;
}

Das ist anscheinend ein Auszug aus deinem Stylesheet. Aber nicht der Inhalt von document.body.style.background. Abgesehen davon, dass du im Stylesheet auch schon die Sammeleigenschaft background verwendest, obwohl du eigentlich nur background-color meinst.

Die CSS-Eigenschaft background ist eine Sammeleigenschaft, die in *einem* String *alle* Informationen zum Hintergrund des betrachteten Elements enthält - außer der Farbe also z.B. auch Hintergrundbild(er) und deren Ausrichtung. Der Vergleich mit '#000000' wird also niemals zutreffen!
Okay und warum nicht? Bzw. warum funktioniert es dann im "ersten"-Teil der Funktion?

Es funktioniert einmal, weil style eben *nicht* gleich '#000000' ist, also wird der else-Zweig ausgeführt. Das ist aber beim nächsten Mal immer noch so.

So long,
 Martin

--
Niemand ist überflüssig: Er kann immer noch als schlechtes Beispiel dienen.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(