Avatar billede webblaster Nybegynder
28. januar 2008 - 14:26 Der er 4 kommentarer og
1 løsning

tjek for scrollbar

Hej eksperten,

jeg har et lille problem. Jeg har en div som jeg centerer på midten at mit site udfra "window.innerWidth" hvilket også går fint hvis det ikke er en scrollbar på siden. Men hvis der er en scrollbar er "window.innerWidth" ikke de ca 10 px mindre. Så placeringen bliver forkert, så mit spørgsmål er er der en måde på hvordan man kan tjekke og der er en scrollbar i browser winduet så man kan lave en justering udfra resultatet af de
Avatar billede olebole Juniormester
28. januar 2008 - 14:35 #1
<ole>

Det lyder, somom du mener i Firefox  :)

Det kan du som sådan ikke spørge om, men det er vel noget med at spørge om document.getElementByTagName("body")[0] - eller document.documentElement er større end viewport'ens højde. Er det tilfældet, er der en scrollbar i højre side. Har ikke tid til at skrive det for dig lige nu  :)

/mvh
</bole>
Avatar billede roenving Novice
28. januar 2008 - 16:00 #2
Hvadfor positionerer du ikke bare med ren css:

#site{position:relative;width:794px;margin:0 auto;border:1px solid red;}

<div id="site">
  <!-- her er alt dit indhold -->
</div>
Avatar billede dotnewbi Juniormester
01. februar 2008 - 11:32 #3
du kan gøre det sådan her:


var windowHeight = 0;
            if (typeof(window.innerHeight) == 'number') {
                windowHeight = window.innerHeight;
            }
            else {
                if (document.documentElement && document.documentElement.clientHeight) {
                    windowHeight = document.documentElement.clientHeight;
                }
                else {
                    if (document.body && document.body.clientHeight) {
                        windowHeight = document.body.clientHeight;
                    }
                }
            }

DivHeight=document.getElementById("Din Div's Id").offsetHeight;

if(screen.availWidth > document.getElementsByTagName('body')[0].clientWidth){
   
    DivHeight= DivHeight - (document.getElementsByTagName('body')[0].clientWidth - screen.availWidth);
   
    }
Div_x = (windowHeight - DivHeight)/2;

document.getElementById("Din Div's Id").style.marginLeft = Div_X + "px";
Avatar billede dotnewbi Juniormester
01. februar 2008 - 11:37 #4
fik lige rodet rundt med width og height men alle height skal selvfølgelig være width's
Avatar billede roenving Novice
01. februar 2008 - 16:15 #5
Prøvede du eksemplet med ren css ?-)
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