scrollLeft will nicht mit Doctype
peter
- javascript
Hi,
hab grad ewig mit meinem IE gekämpft und bin fast wahnsinnig geworden.
Bei "document.body.scrollLeft" hat er mir immer nur "0" ausgegeben, egal wie weit gescrollt war.
Hatte folgenden Doctype drin:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Den hab ich jetzt mal komplett rasgeschmissen, und siehe da.... es geht.
Kann mir mal jemand sagen, warum?
gruß
peter
Hab noch mal nachgeschaut und ausprobiert:
Mit "transitional" gehts.
Hab verwendet:
"cellspacing" und "cellpadding" in meiner Tabelle.
"<nobr></nobr>" bei Text.
Hab den "<tbody>" nicht im Quelltext.
Kanns an einer von diesen Sachen liegen? (oder an allen?).
Angezeigt wurde alles auch mit "strict", nur das Javascript hat nicht funktioniert.
gruß
peter
Bei "document.body.scrollLeft" hat er mir immer nur "0" ausgegeben, egal wie weit gescrollt war.
Den [DOCTYPE] hab ich jetzt mal komplett rasgeschmissen, und siehe da.... es geht.
Standardkonformer Modus vs. Quirks-Modus.
Im standardkonformen kannst du document.documentElement.scrollLeft anstatt document.body.scrollLeft verwenden.
Frage den Modus über document.compatMode ab, um ein Script zu schreiben, das in beiden Modi funktioniert:
if (document.compatMode && document.compatMode == "CSS1Compat") {
var scrollLeft = document.documentElement.scrollLeft;
} else {
var scrollLeft = document.body.scrollLeft;
}
Das hättest du übrigens mehrfach im Forumsarchiv finden können (Stichwort document.body.scrollLeft).
Mathias