Avatar billede maqhem Nybegynder
25. juni 2009 - 21:00 Der er 9 kommentarer og
1 løsning

Find position af div

Hej!

Hvordan kan jeg fange en divs position i browseren? Svarende til left/right/top/left. Mit problem er, at jeg ikke har defineret nogen af dem.

På forhånd mange tak.
Avatar billede webdesigner Praktikant
25. juni 2009 - 23:54 #1
Avatar billede showsource Seniormester
26. juni 2009 - 08:11 #2
Fra olebole en gang for nogen tid siden: ( og det er vist ikke ham som har "bakset" den sammen :O] )

function getPos(o) {
    for(var _x=_y=0;o!=null;_x+=o.offsetLeft,_y+=o.offsetTop,o=o.offsetParent);
    return {x:_x,y:_y}
}

var oShadow = document.getElementById("div_id");

var oP = getPos(oShadow); // Find 'skygge elementets' placering
Avatar billede maqhem Nybegynder
26. juni 2009 - 10:24 #3
Ikke at jeg fatter en hat af, hvad koden gør... Det kan være ligemeget, det ved jeg, jeg en dag vil forstå. Hvad så med width og height? Er det lige så nemt?
Avatar billede maqhem Nybegynder
26. juni 2009 - 10:32 #4
... Og kan det passe, det kun duer i IE? Det kan jeg ikke bruge til noget. Firefox er lige så vigtigt for mig.
Avatar billede maqhem Nybegynder
26. juni 2009 - 10:33 #5
Okay, nu har jeg forstået koden. Det er jo ganske simpelt. Men igen - duer det kun i IE, så er det næsten ubrugeligt.
Avatar billede showsource Seniormester
28. juni 2009 - 17:32 #6
Virker fint for mig i nyeste firefox, google chrome og ie 8 ?
Avatar billede maqhem Nybegynder
28. juni 2009 - 22:31 #7
Okay, du får dine point for det så :)

Smid er svar.
Avatar billede showsource Seniormester
29. juni 2009 - 08:36 #8
Prøv lige dette:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html><head>

    <title>Div position</title>

<style type="text/css">

#FindMe {
    position: relative;
    margin: 10% auto;
    width: 80%;
    }

</style>

<script type="text/javascript">

function getPos(o) {
    for(var _x=_y=0;o!=null;_x+=o.offsetLeft,_y+=o.offsetTop,o=o.offsetParent);
    return {x:_x,y:_y}
}

function alert_pos(o) {

var oShadow = document.getElementById(o);

var oP = getPos(oShadow); // Find 'skygge elementets' placering

alert('X: '+oP.x+', Y: '+oP.y);

}

</script>

</head>

<body>
<div id="FindMe">

    <div style="float: left;">left</div>
    <div style="float: right;">right</div>


    <div style="clear: both; margin: 40px; text-align: center; background-color: green; color: white;" id="centerdiv">Center</div>

<a href="java script: void(0);" onclick="alert_pos('FindMe');">FindMe div</a>
<a href="java script: void(0);" onclick="alert_pos('centerdiv');">Center div</a>


</div>

</body>
</html>
Avatar billede maqhem Nybegynder
24. december 2009 - 12:01 #9
Smid et svar.
Avatar billede showsource Seniormester
24. december 2009 - 16:43 #10
ok
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