Avatar billede anadan Nybegynder
20. juli 2004 - 02:46 Der er 7 kommentarer og
1 løsning

Få fat i positionen af non-"position:absolute" elementer

Jeg har brug for at få fat i positionen af elementer, der som standard ikke er sat style position:absolute.

Et eksempel kunne være at der er nogle elementer i en tabel der hvert er tilknyttet en <div> menu. Denne menu skal så flytte position i forhold til elementerne når brugeren resizer vinduet.

Hvis jeg ikke har sat position:absolute på et element, så vil document.getElementById(mitElement).style.left ikke returnere noget, mens hvis jeg sætter position:absolute på mine elementer, så bliver de skubbet sammen.
Avatar billede roenving Novice
20. juli 2004 - 02:57 #1
Kald denne funktion med dit element som argument:

function getPos(elm) {//jumper
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}

f.eks.

var pos = getPos(document.getElementById('mitElement'));

så vil pos.x være det samme som parseInt(document.getElementById('mitElement').style.left)

og pos.y være det samme som parseInt(document.getElementById('mitElement').style.top)

på absolut positionerede elementer ...
Avatar billede anadan Nybegynder
20. juli 2004 - 03:23 #2
Jeps, det virker perfekt, kom med et svar, så er der point...
Avatar billede roenving Novice
20. juli 2004 - 12:17 #3
Velbekomme '-)
Avatar billede roenving Novice
20. juli 2004 - 12:23 #4
-- og tak for point ;~}
Avatar billede anadan Nybegynder
20. juli 2004 - 12:25 #5
de var fortjent, den havde jeg aldrig fundet ud af selv :\
Avatar billede lifeweb Nybegynder
15. januar 2005 - 17:43 #6
kan denne også bruges på tabeller??

hvis jeg eksempelvis sætter en tabel ind:
<table name="test">

jeg kan nemlig ikke få det til at virke - og måske jeg bare har gjort noget galt :)
Avatar billede anadan Nybegynder
16. januar 2005 - 05:11 #7
hmm, det er bare et gæt, men kan du ikke bare sætte din tabel ind i en <div name="test"><table>...</table></div> og så positionere din div?
Avatar billede roenving Novice
16. januar 2005 - 12:14 #8
Brug id !-)

<table id="test">
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