Avatar billede Slettet bruger
04. maj 2010 - 16:50 Der er 5 kommentarer og
1 løsning

Scroll position problemer.

Hej.

Jeg har et problem med et javascript, som skal flytte et element på en side, sådan at den altid står i midten vertikalt, ligegyldigt hvor man scroller hen.
Det virker fint i IE, men ikke i andre browsere. Hvordan får man det til at virke i de andre også?

Her er mit script:

<script type="text/javascript">
function main_scrollpos(){
return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
}

function top_bund(){
if (document.documentElement.scrollHeight<=main_vpHeight()){
document.getElementById('nav').style.display='none';
}
else{
document.getElementById('nav').style.display='block';
}
s_width = main_vpWidth();
s_width = Math.round(s_width/2);
document.getElementById('nav').style.left=(s_width+530) + 'px';
s_height = main_vpHeight();
s_height = Math.round(s_height/2);
s_height = s_height+main_scrollpos();
document.getElementById('nav').style.top=(s_height-32) + 'px';
}
window.onload=function(){
document.body.onscroll=function(){
top_bund();
}
document.body.onresize=function(){
top_bund();
ret_plac();
}
}
top_bund();
</script>

Det er som om den i de andre browsere slet ikke kører top_bund()

\Dan
Avatar billede Slettet bruger
04. maj 2010 - 17:53 #1
Midt på skærmen eller midt på dokumentet ?

Hvis det er på skærmen: Brug position:fixed
- så står det bomstille, uanset hvor heftigt du scroller det bagvedliggende dokument - helt uden javascript til at justere det med : )
Avatar billede Slettet bruger
04. maj 2010 - 18:17 #2
ja - den holder ikke helt... For der skal gøres flere ting, når der scrolles eller resizes. ret_plac skal også køres...

- så hvordan gøres det i javascript?

\Dan
Avatar billede Slettet bruger
04. maj 2010 - 22:24 #3
Du kan jo stadig gøre de andre ting du har brug for ved onresize...
- men du slipper for bøvlet med at placere elementet "manuelt"
Avatar billede Slettet bruger
04. maj 2010 - 22:57 #4
Jamen det er ikke det jeg vil...

Jeg vil kører nogle funktioner når der scrolles eller resizes!

Jeg har imidlertid fundet en anden løsning... nemligt at skrive

window.onscroll og window.onresize. Så virker det både i FF og IE...

Jeg lukker spørgsmålet - smid et svar hvis du vil have point.

\Dan
Avatar billede Slettet bruger
05. maj 2010 - 00:00 #5
Pyt, snup dem bare selv. Jeg forvirrede jo bare : )
Avatar billede Slettet bruger
05. maj 2010 - 02:31 #6
ok... tak for forsøget...

\Dan
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