Hi,
Frage:
Bin ich mit scrollLeft & scrollTop auch noch bei den neuen IE-Versionen "up to date" ?
Ja. Geht auch im IE 6. Wieso auch nicht!
body.clientWidth & body.clientHeight entspricht
window.innerWidth
window.innerHeightim alten Netscape sowie im aktuellen Netscape / Mozilla ! OK.
Auch neuere Browser kennen document.body.clientWidth. Es ist insofern besser, als das es die Breite OHNE die Breite der Scrollbar ist.
Frage:
Zu "clientWidth & clientHeight" erhalte ich in SelfHtml V8 leider keine Treffer. Gibts dafür einen Grund ?
SelfHTML ist etwas veraltet, meiner Meinung nach. Das was da bezgl. JavaScript und DOM steht ist meiner Einschätzung nach nur ca. ein Drittel von dem was es wirklich alles gibt.
Bin ich mit body.clientWidth & body.clientHeight auch noch bei den neuen IE-Versionen "up to date" ?
Wie verhält es sich da mit Opera ?
Na klaro! Opera 6 und 7 kennen es auch. Opera 5 nicht. Aber Opera speichert in window.innerWidth im gegensatz zu netscape und Mozilla die Breite OHNE Scrollbarbreite.
Mit
offsetWidth
offsetHeighthabe ich bisher im IE die Breite / Höhe eines DIV-Bereiches ermittelt. Das funktioniert merkwürdigerweise auch im Netscape 6, obwohl das lt. Nachschlagewerk XYZ nicht sein kann.
Wieso merkwürdigerweise? Und was fürn Nachschlagewerk XYZ??? Ja, es funktioniert. Es gibt dort auch gar keine andere Möglichkeiten.
offsetWidth, clientWidth und scrollHeight kennen die meisten Browser (Netscape 6+, Opera 6+, IE 4+, und ich glaube sogar Konqueror). Es ist zwar kein richtiger Standard, aber irgendwie so ein quasi standard.
Was ist hier das Richtige, um in allen aktuellen Browsern "up to date" zu sein ?
offsetWidth, clientWidth, scrollWidth
scrollWidth entspricht übrigend document.width in Netscape 4. also die tatsächliche Breite eines Elementes INKL. nicht sichtbaren Teil (da weg gescrollt)
unterschied zwischen offsetWidth und clientWidth:
http://msdn.microsoft.com/workshop/samples/author/dhtml/refs/offsetWidth.htm
PS.
Ich war jahrelang Weltmeister im "abwärtskompatibel programmieren". Es rächt sich grausam !
Ich kenn mich nicht mehr aus.
Irgendwie macht Crossbrowser-Programmieren voll Spaß!
Noch was zu IE 6:
Jenachdem was für einen Doctype du hast, so speichert IE 6 den Wert für die innere Breite entweder in document.body.clientWidth oder document.documentElement.clientWidh!
Gute Nacht,
Scooter