Meise2000: Aktuelle Höhe (height) bei Blockelementen

Hallo zusammen,

ich habe ein folgendes HTML-Fragment

  
<div style="width:500px; top:10px; left:10px;">  
  <h1>Headline</h1>  
  <!-- Hier steht jetzt ne ganze Menge Content -->  
</div>  

Der der Content von Seite zu Seite unterschiedlich lang ist, weiß ich nicht, welchen "height"-Wert das div-Element hat, wenn die Seite angezeigt wird oder besser gesagt, wie hoch "height" mindestens sein muss, damit der ganze Content zu sehen ist.

Hintergrund der Frage ist, dass ich bei in den div eigentlich nur eine Höhe von 400 Pixeln zur Verfügung habe, was bei längeren Texten nicht ausreicht.

Nun möchte ich per JavaScript das "top"-Attribut im style von div schrittweise nach unten zählen, was ein Scrolleffekt bewirkt. Das funktioniert auch wunderbar, aber möchte ich wissen, wann ich mit dem Scrollen aufhören muss. Angenommen eine Seite braucht 600px Höhe, dann ist bei "top:-190px;" Schluss. Bei einer Seite mit 900px Höhe ist er Schlusswert erst "top:-490px". Ansonsten scrollt man wohl möglich bis in alle Ewigkeit...

Natürlich wird der User irgendwann schon mal selbst die Maus von dem Scrollbutton nehmen, aber schöner ist es doch, wenn der Content nicht oben ausläuft. Hat jemand ne Idee?

Gruß,
Meise.

  1. Hello out there!

    Hat jemand ne Idee?

    Ja. Lass den Unsinn.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  2. Hallo,

    Die errechnete Höhe eines Elements kannst du mit element.offsetHeight
    ermitteln. Warum benutzt du nicht einfach CSS (fixe Höhe + overflow: auto)?
    Dann würde das doch überall ohne solche (m.E. ziemlich nervigen)
    "Javascript-Scrollbuttons" funktionieren.

    Gruß, Jan

  3. Hallo,

    Nun möchte ich per JavaScript das "top"-Attribut im style von div schrittweise nach unten zählen, was ein Scrolleffekt bewirkt. Das funktioniert auch wunderbar, aber möchte ich wissen, wann ich mit dem Scrollen aufhören muss.

    Setze .scrollTop per JavaScript, dann musst Du das nicht wissen. In der verlinkten Docu jeweils mit Verweisen auf MSDN für IE. Opera9 unter Windows setzt es aber auch um.

    Siehe auch http://forum.de.selfhtml.org/archiv/2006/9/t136270/#m884944 und http://forum.de.selfhtml.org/archiv/2006/7/t132846/#m860158.

    viele Grüße

    Axel