Notwendige Änderung nach dem umschlaten aus dem Quirks Modus
blander
- javascript
Hallo zusammen
ich wollte Quirks Modus nicht mehr auf meiner Seite lesen wollen. Und so entschied ich mich den Doctype zu ändern, wie dieser in Wikipedia zu lesen ist. Man muß ja nur Quirks Modus in Google eingeben und schon kommt man zu diesem Beitrag. Und Quirks Modus ist nur auf meiner Seite zu lesen, und so wollte Firefox 6 zuerst meine Seite gar nicht öffnen.
Und jetzt schreibe ich als Doctype
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">
und jetzt zeigt Firefox den Standard Modus an.
Aber jetzt sind wohl einige Änderungen notwendig. Denn der IE zeigt anstatt 0 den Wert 190 für eine ausgeblendete Tabellenzeile. Wie bekomme ich auch hier den Wert 0?
Und ich würde gerne in Erfahrung bringen wie hoch die Seite ist. Auf dieser stehen als Hintergrund mehrere DIVs als Hintergrund die alle 100% groß sind. Doch will ich nicht die Seitengröße an einem div auslesen, sondern die Größe ermitteln ohne auf ein Objekt zugreifen zu müssen. Denn so ruckelt es sehr bei einer Größenänderung. Ich brauche den Wert zur Positionierung von Objekte, doch will ich jetzt mit dem Code
top.document.body.offsetHeight
keine Information bekommen.
Ich würde mich sehr über Hilfe freuen, denn ich arbeite jetzt schon seit Ewigkeiten an dieser Seite und würde mich freuen diese bis zur Vollendung zu bringen.
Will mich für Eure Mühe und Antworten bedanken.
Gruß Andreas
Hallo, Andreas!
Und jetzt schreibe ich als Doctype
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">
Warum machst Du es Dir so unnötig schwer? <!DOCTYPE HTML> reicht vollkommen und ist zukunftssicher.
> Aber jetzt sind wohl einige Änderungen notwendig. Denn der IE zeigt anstatt 0 den Wert 190 für eine ausgeblendete Tabellenzeile. Wie bekomme ich auch hier den Wert 0?
Da ich annehme, dass Du "display: none" als Methode zum Ausblenden genommen hast und die offsetWidth oder offsetHeight abfragst, würde ich empfehlen, das "display:none" im CSS zu belassen und das Ausblenden über eine Klasse zu bewerkstelligen, die Du leicht im className abfragen kannst.
> (...) Denn so ruckelt es sehr bei einer Größenänderung. Ich brauche den Wert zur Positionierung von Objekte, doch will ich jetzt mit dem Code
> `top.document.body.offsetHeight`{:.language-javascript}
> keine Information bekommen.
Warum willst Du keine Informationen bekommen? Diese Aussage macht keinen Sinn. Wenn offsetHeight keine Höhe gibt, kann das daran liegen, dass die Inhalte im Body absolut oder gefloatet positioniert sind und diesen somit nicht aufspannen.
Gruß, LX
--
RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine ganz wunderbar. (...)
Hallo zusammen
ich blende die Zeile aus und der ie zeigt dann bei .offsetHeight nicht 0, und da ich sofort zum rechnen die Höhe mit einbeziehen muss schreibe ich jetzt Zeile.clientHeight.
Bei mir sitzen alle Objekte in einem div und dass mit dem document.documentElement.clientHeight passt einwandfrei.
Und ja <!DOCTYPE HTML> zeight auch das gleiche Ergebnis.
Vielen Dank für Eure Hilfe, alles einwandfrei.
Gruß Andreas
Hallo
sorry ich muss mich gleich noch einmal melden.
Denn mit diesem doctype zeigt der ie stets zwischen Buttons einen Abstand. Und der darf nicht sein.
Also wie bekomme ich diesen weg?
Danke Gruß Andreas
Hallo,
Aber jetzt sind wohl einige Änderungen notwendig. Denn der IE zeigt anstatt 0 den Wert 190 für eine ausgeblendete Tabellenzeile. Wie bekomme ich auch hier den Wert 0?
Für welche Eigenschaft ist dies der Wert? Für die Höhe (height)?
Nicht-sichtbare Elemente haben eine offsetHeight von 0. Du musst sie sichtbar machen, damit offsetHeight lesbar ist.
top.document.body.offsetHeight
Im standardkonformen Modus solltest du die Höhe des html-Elements anstatt des body-Elements abfragen. Dieses hat immer die Höhe des Viewports und du erreichst es unter document.documentElement.
Grüße, Mathias