Avatar billede vovhunden Nybegynder
07. september 2011 - 18:02 Der er 19 kommentarer og
1 løsning

javascript i css

Med nedenstående script, kan jeg hente højden i brugerens browser.

<script type="text/javascript">
<!--

var viewportwidth;
var viewportheight;

// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

if (typeof window.innerWidth != 'undefined')
{
      viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
}

// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

else if (typeof document.documentElement != 'undefined'
    && typeof document.documentElement.clientWidth !=
    'undefined' && document.documentElement.clientWidth != 0)
{
      viewportwidth = document.documentElement.clientWidth,
      viewportheight = document.documentElement.clientHeight
}

// older versions of IE

else
{
      viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
      viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
document.write('<p>Your viewport width is '+viewportwidth+'x'+viewportheight+'</p>');
//-->
</script>

I stedet for at skrive værdien for bredde og og højde ((document.write))
vil jeg gerne have indsat værdien viewportheight i et embedded style område a la nedenstående:

<style type="text/css">
    *{
    height: ((viewportheight))px;
    }
</style>
Avatar billede majbom Novice
07. september 2011 - 18:36 #1
må man spørge hvorfor?
Avatar billede vovhunden Nybegynder
07. september 2011 - 18:46 #2
Ja, det må du:
det er en div tag, der skal have en bestemt højde i forhold til clientens browserhøjde
Avatar billede majbom Novice
07. september 2011 - 18:59 #3
kan du så ikke sætte div'ens højde med javascript direkte?
Avatar billede vovhunden Nybegynder
07. september 2011 - 19:02 #4
Det har jeg intet begreb om - er en ren novice mht. javascript
Avatar billede vovhunden Nybegynder
07. september 2011 - 19:04 #5
Jeg har en div
<div id="minid">indhold</div>
og så har jeg noget javascript til at bestemme højden i clientens browser. Og hvad så?
Avatar billede vovhunden Nybegynder
07. september 2011 - 19:06 #6
som det er nu, ser det sådan her ud
<div class="minid">indhold</div>
og så trækkes højden fra CSS
Avatar billede majbom Novice
07. september 2011 - 19:55 #7
hvis du sætter en id på din div, kan du med:

document.getElementById('id_på_din_div').style.height = '300px';


sætte højden til 300px på din div...
Avatar billede vovhunden Nybegynder
08. september 2011 - 00:14 #8
Fint nok, det giver en højde på 300px, men jeg skal bruge højden viewportheight fra javascriptet, som vist øverst.
Avatar billede olebole Juniormester
08. september 2011 - 02:02 #9
<ole>

Jamen, så indsætter du vel bare den i stedet for de 300px  =)

/mvh
</bole>
Avatar billede majbom Novice
08. september 2011 - 07:55 #10
giver det ikke næsten sig selv? :)

document.getElementById('id_på_din_div').style.height = viewportheight + 'px';
Avatar billede vovhunden Nybegynder
08. september 2011 - 09:16 #11
NOGET I DENNE STIL??

<script type="text/javascript">
<!--
function setContent() {
var viewportwidth;
var viewportheight;

if (typeof window.innerWidth != 'undefined')
{
      viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
}
else if (typeof document.documentElement != 'undefined'
    && typeof document.documentElement.clientWidth !=
    'undefined' && document.documentElement.clientWidth != 0)
{
      viewportwidth = document.documentElement.clientWidth,
      viewportheight = document.documentElement.clientHeight
}
else
{
      viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
      viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
document.getElementById('id_på_din_div').style.height = viewportheight + 'px'; 
window.onload = function() {
setContent();
}
window.onresize = function() {
setContent();
}
}
//-->
</script>
Avatar billede majbom Novice
08. september 2011 - 09:22 #12
ja det er et godt bud - bliver diven lige så stor som vinduet...
Avatar billede vovhunden Nybegynder
08. september 2011 - 09:32 #13
Det kan jeg rette på, men scriptet virker ikke, der må være en fejl et sted.
Avatar billede majbom Novice
08. september 2011 - 09:38 #14
får du ikke en fejl i din browser? kan man se siden?
Avatar billede vovhunden Nybegynder
08. september 2011 - 09:46 #15
Nej,
Men jeg har en højde på 100% i mit scrolling area med overflow hidden. Jeg tror det er derfor
Avatar billede vovhunden Nybegynder
08. september 2011 - 10:07 #16
Scriptet skal lægges inde i diven - så virker det faktisk - hmm.
Hvem vil have points
Avatar billede majbom Novice
08. september 2011 - 11:34 #17
det burde virke, hvis du smider det i head.

det er ikke fordi du mangler en afsluttende tuborgklamme efter funktionen setContent ? (det gør der i hvert fald i dit eksempel i #11)
Avatar billede vovhunden Nybegynder
07. oktober 2011 - 11:10 #18
Ingen vil have point
Avatar billede olebole Juniormester
07. oktober 2011 - 16:01 #19
Det er de vel ingen, der har sagt. splazz prøvede blot at hjælpe dig med at finde ud af, hvor du laver fejl. Det må anses for yderst hensigtsmæssigt (hvis ikke selve meningen) at få rettet dine fejl, inden der uddeles points  =)
Avatar billede majbom Novice
07. oktober 2011 - 17:42 #20
til ole - nej det er slet ikke så vigtigt med de fejl, det skal bare virke! ;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