Avatar billede Slettet bruger
30. marts 2008 - 01:22 Der er 14 kommentarer og
1 løsning

En sides højde i pixels

Hejsa

Hvordan finder man en sides højde i pixels uden at der tages hensyn til brugerens opløsning?
Jeg har prøvet med:
document.body.clientHeight
Men her hentes det jeg ville kalde for brugeres skærmområde hvor siden kan vises...
Men hvordan hentes hele sidens højde inklusive det som der evt. måtte skulle scrolles?

\Dan
Avatar billede madeindk Nybegynder
30. marts 2008 - 14:58 #1
Du giver dit yderste element et ID (fx. en div eller en table) og gør så sådan her:

<script type="text/javacript">
alert(document.getElementById("yderste_elm").offsetHeight)
</script>
Avatar billede olebole Juniormester
30. marts 2008 - 17:06 #2
<ole>

Hvorfor ikke bare bruge det aller yderste element:
    alert(document.documentElement.offsetHeight)

/mvh
</bole>
Avatar billede Slettet bruger
30. marts 2008 - 19:36 #3
Hej.

Det er ikke helt det jeg søger...

Prøv at se dette link: http://www.fdfvodskov.dk/test/e.asp

Her er det stadig kunde højden på vindeuets område vi får - og ikke højden på siden...

For eksempel så er den altid 656 pixels i højden på min skærm ligegyldigt hvor mange gange der står <br> på siden...

Hvordan får vi sidens højde uafhængigt af brugerens skærmopløsning?

\Dan
Avatar billede olebole Juniormester
30. marts 2008 - 20:14 #4
Jamen, du kan jo ikke regne med noget somhelst, når du ikke tester i et HTML-dokument. Du skal som minimum begynde dokumentet med en fuld DTD - så skal det såmænd nok virke, skal du se  ;o)
Avatar billede olebole Juniormester
30. marts 2008 - 20:18 #5
- og så skal du forøvrigt nok bruge body-elementet:
    alert(document.getElementsByTagName("body")[0].offsetHeight)  ;o)
Avatar billede Slettet bruger
30. marts 2008 - 22:07 #6
Hej ole.

- mange tak for hjælpen indtil nu... Men jeg kan altså stadig ikke rigtigt få det til at virke... Nu har jeg tildelt den en DTD og har også rettet alert'en til det du skriver ovenfor - og nu får jeg bare et "0" på min skærm.
Tjek venligst: http://www.fdfvodskov.dk/test/e.asp igen

Hvad kan man gøre?

\Dan
Avatar billede olebole Juniormester
30. marts 2008 - 22:27 #7
Hehe ... ja, naturligvis  ;o)
Hvor højt er mon body-elementet i det øjeblik, browseren læser JS-koden i:

<body>
<script language="Javascript">
alert(document.getElementsByTagName("body")[0].offsetHeight);
</script>

Du skal nok skrive:

<script type="text/Javascript">
window.onload = function() {
    alert(document.getElementsByTagName("body")[0].offsetHeight);
}
</script>
Avatar billede Slettet bruger
31. marts 2008 - 00:02 #8
Hej igen Ole

- ja nu virker det på den test-side som vi har set på før (e.asp)... Men jeg kan ikke få det til at virke til det jeg egentlig skal bruge det her til...
Jeg skal bruge det til en funktion som starter når man klikker på en knap på min side... En funktion som gør en tabel synlig og som ligger som øverste lag på siden og som skal fylde hele siden...
Her er min funktion:

<table id="conftabel" style="vertical-align: top; visibility: hidden; background-color: #f0f0f0; width: 100%; height: 1px; position: absolute; z-index: 100; left: 0; top: 0; filter: alpha(opacity=90); -moz-opacity:0.9; opacity:0.9;">
<tr>
<td id="confindhold" style="cursor: default; width: 100%; height: 1px; text-align: center; font-family: Verdana, Arial; font-size: 24px; color: #cc3636; font-style: italic;">
</td>
</tr>
</table>
<script language="Javascript">
function conf(streng,link){
window.scrollTo(0,0);
document.getElementById('confindhold').innerHTML='Sikker?<br><span style="font-family: Verdana, Arial; font-size: 12px; color: #000000;">' + streng + '</span><br><input type="button" onclick="ja(\'' + link + '\');" name="ja" id="ja" value="Ja" onmouseover="this.style.backgroundImage=\'url(menubg.png)\';" onmouseout="this.style.backgroundImage=\'\';" style="background-color: #ffffff; text-align: center; cursor: pointer; border: 1px solid #c0c0c0; font-family: Verdana, Arial; font-size: 10px; color: #000000; width: 120px; height: 16px;"><input type="button" onclick="nej();" name="nej" id="nej" value="Nej" onmouseover="this.style.backgroundImage=\'url(menubg.png)\';" onmouseout="this.style.backgroundImage=\'\';" style="background-color: #ffffff; text-align: center; cursor: pointer; border: 1px solid #c0c0c0; font-family: Verdana, Arial; font-size: 10px; color: #000000; width: 120px; height: 16px;">';
document.getElementById('conftabel').style.visibility='';
document.getElementById('conftabel').style.height=document.getElementsByTagName("body")[0].offsetHeight;
}
function ja(link){
wait('Vent venligst...');
nej();
document.location=(link);
}
function nej(){
document.getElementById('confindhold').innerHTML='';
document.getElementById('conftabel').style.visibility='hidden';
}
</script>


Her vil jeg gerne have denne tabel til at fylde hele siden i både højde og bredde... Og det er så kun højden som driller... Og hvis man bare giver den 100% er det netop ikke nok...
Hvad kan man gøre?

\Dan
Avatar billede olebole Juniormester
31. marts 2008 - 00:21 #9
På nær ganske få tilfælde skal der altid enheder på CSS-værdier:
    document.getElementById('conftabel').style.height=document.getElementsByTagName("body")[0].offsetHeight + "px";
Avatar billede Slettet bruger
31. marts 2008 - 00:33 #10
Hej Ole

- Ja... Nu har jeg så prøvet med at sætte 'px' på... men dog uden held... For det giver samme problem...

Nu fylder tabellen vinduets højde hos brugeren, og ikke sidens højde...

\Dan
Avatar billede olebole Juniormester
31. marts 2008 - 01:01 #11
document.getElementById('conftabel').style.height=document.documentElement.scrollHeight + "px";

- så skulle den gerne være der  ;D
Avatar billede Slettet bruger
31. marts 2008 - 01:21 #12
hehe.. ja det er den også...

Tak for hjælpen...

Smid et svar for point...

\Dan
Avatar billede olebole Juniormester
31. marts 2008 - 01:30 #13
*griiiiiiiiiiiiiiiiiiiiiib*  ;o)
Avatar billede olebole Juniormester
31. marts 2008 - 03:30 #14
Tak for points  ;o)
Avatar billede Slettet bruger
31. marts 2008 - 07:46 #15
Det var så lidt...
- og tak for hjælpen!
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