Einheiten für Styles in JavaScript

con-f-use

Erfahrenes Mitglied
Hatte das Problem, dass ein Script von mir nicht funktionierte, weil XHMTL 1.0 Strict für jede Style-Eigentschaft eine Einheit dazu wollte (also z.B. px, pt, % etc.)

Das sah falsch dann so aus (funktioniert ohne Doctype, nicht aber mit):
HTML:
if (document.getElementById) menu.style.top += smooth

Jetzt habe ich das umgekehrte Problem: Wenn ich eine Einheit mit angebe funktioniert das script ohne Doctype nicht mehr.

Das sieht dann so aus (funktioniert mit Doctype, nicht aber ohne):
HTML:
if (document.getElementById) menu.style.top = (parseInt( (menu.style.top).replace(/px/,"") ) + smooth) + "px"
Hab ich was falsch gemacht, oder gibt es ne möglichkeit, dass das script mit und ohne Doctype funktioniert.
Hier mal ein Link zum vollständingen Script.
 
Ich glaub, dass Problem sind jetzt weniger die Einheiten, sondern vielmehr, dass jenachdem, ob der Browser im Quirksmode läuft,
für document.documentElement.scrollTop und document.documentElement.clientHeight unterschiedliche Werte geliefert werden.

Du könntest den Darstellungsmodus abfragen und jenachdem stattdessen document.body.scrollTop und document.body.offsetHeight abfragen.
 
Zurück