Höhe eines DIV-Bereiches ermitteln
André Mantz
- javascript
0 bernd
Hallo,
ich habe in einem Dokument einen DIV-Bereich mittels CSS absolut positiniert. Direkt darunter soll dann ein weiterer Bereich angezeigt werden. Dafür muß ich allerdings die Höhe des 1. Bereiches ermitteln (die ja Abhängig von der Textmenge ist). Und genau das ist mein Problem.
Hier mal ganz vereinfacht dargestellt:
<style type="text/css">
<!--
.box1 { position:absolute; top:100px; left:100px; width:100px; height:0px; z-index:1; border:blue 1px solid; }
-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
function Test()
{
alert(document.getElementById('Box1').style.top);
}
//-->
</script>
<div class="box1" id="Box1">Eine Box</div>
Rufe ich nun die Function Test() auf erhalte ich als Ergebnis nix.
Wer kann mir helfen?
Gruß, André
Hi,
Und genau das ist mein Problem
ich würde das folgendermaßen lösen:
<script type="text/javascript">
<!--
function GetElementHeight (elm)
{
if (!elm)
return 0;
if (document.layers)
{
if (!elm.height)
elm.height = elm.clip.height;
return elm.height;
}
else if (typeof(elm.style && elm.style.height) == 'number')
{
return elm.style.height;
}
else if (typeof(elm.style && elm.style.height) == 'string' && !isNaN(parseInt(elm.style.height)))
{
return parseInt(elm.style.height);
}
else if (elm.offsetHeight)
{
return elm.offsetHeight;
}
else if (typeof(elm.style && elm.style.pixelHeight) == 'number')
{
return elm.style.pixelHeight;
}
else if (elm.clientHeight)
{
return elm.clientHeight;
}
return 0;
}
function Test()
{
alert(GetElementHeight(document.getElementById('Box1')));
}
//-->
</script>
und height:0px rausnehmen.
In SelfHTML gab es mal eine JavaScript Bibliothek für DHTML, kann die aber nicht mehr finden. Die könnte dir auch weiterhelfen aber ich denke für dein Problem reicht meine Lösung aus.
hth
bernd