Benbo: Objekthöhe ermitteln

Hallo,

ich habe auf meiner Webseite ein Box, die man per Klick auf einen Button öffnen und schließen kann. Nun wollte ich, dass dieser Status gespeichert werden kann, sodass die Einstellung bei einem Reload der Seite nicht verloren geht. Also habe ich beim Klick auf diesen Button per JS ein entsprechendes Cookie gesetzt. Wenn nun die Seite aufgerufen wird, prüfe ich per PHP, ob das Cookie gesetzt ist und zeige die Box an oder eben nicht. Soweit so gut :)

Ist die Box angezeigt und klickt man also auf den Button, dann holt das Script sich zunächst die Höhe der Box mit offsetHeight und setzt die Höhe auf 0px. Ich muss das mit offsetHeight machen, damit ich später weiss, wie groß die Box war, wenn diese wieder angezeigt werden soll.

Nach einem Reload ist diese Information (die richtige Höhe) natürlich verloren. Da das PHP-Script aber das Cookie auswertet und die Box ausblendet habe ich keine Möglichkeit die Box wiederhezustellen, da ich ja nicht weiss, wie hoch diese ursprünglich war.

Deswegen habe ich die richtige Höhe mit ins Cookie geschrieben, was mir aber nicht gefällt. Denn wenn sich der Text in der Box ändert, dann ändert sich auch die Größe der Box und der Wert im Cookie würde nicht mehr stimmen.

Hat jemand eine Idee wie ich die Größe der Box herausfinden kann, wenn diese nicht sichtbar ist?

Gruss
Benbo

  1. Hat jemand eine Idee wie ich die Größe der Box herausfinden kann, wenn diese nicht sichtbar ist?

    Du kannst auf eine andere Methode als Display:none ausweichen.
    zum Beispiel visibility:hidden oder relative positionierung mit left:-666em.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  2. Hi,

    Ist die Box angezeigt und klickt man also auf den Button, dann holt das Script sich zunächst die Höhe der Box mit offsetHeight und setzt die Höhe auf 0px. Ich muss das mit offsetHeight machen, damit ich später weiss, wie groß die Box war, wenn diese wieder angezeigt werden soll.

    Warum?
    Du kannst doch einfach fuer die Höhe den Wert zuweisen, der dafür sorgt, dass sie wieder ganz normal berechnet wird - auto.

    (Es sei denn, da sprächen in deinem Szenario noch irgendwelche Umstände dagegen, über die du uns bisher nichts mitgeteilt hast.)

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. (Es sei denn, da sprächen in deinem Szenario noch irgendwelche Umstände dagegen, über die du uns bisher nichts mitgeteilt hast.)

      In der Tat :D Das ganze wird ein/ausgefadet. Also einfach die Höhe auf Auto setzen ist leider nicht :)