Struppi: warum kommt nix bei document.body.scrollTop?

Beitrag lesen

Wenn die Seite zu Ende geladen hat, der User aber noch nix gescrollt hat, dann kommt bei Click auf einen entsprechenden onclick-Link die Meldung "body!0", was bedeutet, das der if-Zweig mit document.body gegriffen hat. Wenn der User dann aber die Seite weiter scrollt, dann kommt auf denselben Click hin die Meldung "element!253". Das bedeutet doch wohl, dass durch das Scrollen des Users der IE sein DOM verändert, aus document.body mal eben document.documentElement macht (warum das _jetzt_ erst?!?), um mir dann mit der Eigenschaft scrollTop einen Wert != 0 ausgeben zu können.

Weil du in der if Bedingung auf 0, Leerstring, undefined oder null prüfst und im zutreffenden Fall in den body zweig gehst.

else if(document.documentElement && document.documentElement.scrollTop)

heißt: wenn document.documentElement ungleich 0, null, Leerstring oder undefined ist und document.documentElement.scrollTop ungleich 0, null, Leerstring oder undefined, dann ...

Empfindet das außer mir noch jemand als völlig idiotisch und durchgeknallt?

Nein, es ist völlig logisch und von dir so programmiert.

Struppi.