Avatar billede meelby Nybegynder
20. december 2005 - 18:21 Der er 6 kommentarer og
1 løsning

Find højden på Table

Underligt med de koder! Når jeg fjerner "style="DISPLAY: none;" i tabellen, virker offsetHeight - se selv...

Er der nogen der har en løsning?

------------------------
<html>
<head>
    <title>Test</title>
</head>
<script language="javascript">
function hojde(){
var x=document.getElementById('Start').offsetHeight;
alert(x);}
</script>
<body>
<div onclick="hojde(Start)">Vis tabel højde</div>
<TABLE id="Start" style="DISPLAY: none;" width="100%" height="100%" style="BORDER-RIGHT: darkblue 1px solid; BORDER-TOP: darkblue 1px solid; BACKGROUND: #d9d9ff; BORDER-LEFT: darkblue 1px solid; BORDER-BOTTOM: darkblue 1px solid" cellSpacing=0 cellPadding=0 border=0>
<tr><td>Linie 1</td></tr>
<tr><td>Linie 2</td></tr>
<tr><td>Linie 3</td></tr>
</TABLE>
</body>
</html>
-------------------------
Avatar billede or.han Nybegynder
20. december 2005 - 21:14 #1
Det er da helt logisk at højden er 0 når element ikke er der.. Det er vel svaret tror jeg...
Avatar billede or.han Nybegynder
20. december 2005 - 21:15 #2
Og hvorfor skriver du hojde(Start)?? hojde-funktionen har ikke nogen parametre jo..
Avatar billede psykochicken Nybegynder
21. december 2005 - 10:52 #3
Hvis du vil måle højden på et skjult element kunne du jo prøve med:

<script type="text/javascript">
function hojde(elm){
  var x=document.getElementById(elm).offsetHeight;
  alert(x);
}
</script>
<div onclick="hojde('Start')">Vis tabel højde</div>
<TABLE id="Start" style="visibility:hidden;"....osv

/psc
Avatar billede meelby Nybegynder
22. december 2005 - 10:57 #4
OR.han >> Tja, måske fordi det indgår i en større enhed, og kort sagt betyder den opstillet variabel intet.

psykochicken >> Har prøvet din ide, men resultatet giver stadigvæk 0?
Avatar billede psykochicken Nybegynder
22. december 2005 - 20:54 #5
Får du 0 ?? - det virker fint hos mig.

Forskellen er jo netop at med display:none; vil højden være 0, da elementet ikke "optager plads" før det bliver vist.
Med visibility:hidden; skal den vise elementets højde, da elementet optager samme plads som når elementet vises:

<html>
<head>
<title>Test</title>
<script language="javascript">
function hojde(elm){
  var x=document.getElementById(elm).offsetHeight;
  alert(x);
}
</script>
</head>

<body>
<div onclick="hojde('Start')">Vis tabel højde</div>
<TABLE id="Start" width="100%" height="100%" style="visibility:hidden;border:darkblue 1px solid; background:#d9d9ff;" cellSpacing="0px" cellPadding="0px" border="0px">
  <tr>
    <td>Linie 1</td>
  </tr>
  <tr>
    <td>Linie 2</td>
  </tr>
  <tr>
    <td>Linie 3</td>
  </tr>
</TABLE>
</body>
</html>

/psc
Avatar billede meelby Nybegynder
22. december 2005 - 21:27 #6
Korrekt, det var jeg ikke opmærksom på - det virker perfekt :)

Smid et svar og få dine point.
Avatar billede psykochicken Nybegynder
22. december 2005 - 21:32 #7
..svar kommer her ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester