Avatar billede jobless Nybegynder
30. marts 2004 - 17:15 Der er 18 kommentarer og
1 løsning

Positionering af div

Hej.

Jeg har en tabelcelle, hvori jeg gerne vil have positioneret en div.

Jeg har forsøgt at lægge et image i cellen, og læse offsetLeft og offsetTop ud, men de er 0 ??

Hvordan positionerer jeg lettest min div over tabelcellen ?

MVH

JoBless
Avatar billede olebole Juniormester
30. marts 2004 - 17:31 #1
<ole>

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

var dim = getPos( document.getElementById("billedID") );
alert("x= "+dim.x+"\ny= "+dim.y)

/mvh
</bole>
Avatar billede olebole Juniormester
30. marts 2004 - 17:32 #2
Du behøver ikke at bruge et billede. Det kan være et hvilket somhelst HTML-element  :)
Avatar billede skovenborg Nybegynder
30. marts 2004 - 17:32 #3
vil du have de rigtige "koordinater" kan du bruge getPos:
function getPos(elm) { // Laver af jumper
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}

Eks med billedet:
<img src="billede.png" id="billede" />

Så kan du finde de rigtige koordinater ved at skrive:
<script type="javascript">
function getPos(elm) {
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}
pos = getPos(document.getElementById('billede'));
alert(pos.x) // Billedets x-koordinat
alert(pos.y) // Billedets y-koordinat
</script>
Avatar billede jobless Nybegynder
30. marts 2004 - 18:03 #4
olebole -> jeg får x=0 y=0 ?!?

skovenborg -> jeg får 0 og 0 ?!?
Avatar billede skovenborg Nybegynder
30. marts 2004 - 18:37 #5
det også det samme script ;-)
Avatar billede roenving Novice
30. marts 2004 - 18:50 #6
-- og det nemmeste er:

<!-- den html udenom -->
<td style="position:relative;top:0px;left:0px">
<div id="minFlydeDiv" style="position:absolute;top:0px;left:0px;height:150px;width:200px;background:green;display:none;">
Det, som vises i div'en
<a href="#" onclick="document.getElementById('minFlydeDiv').style.display='none';return false;">Gem div</a></div>
Det som kommer under div'en, når den vises ...<br>
<a href="#" onclick="document.getElementById('minFlydeDiv').style.display='block';return false;">Vis div</a></td>
<!-- den html udenom -->
Avatar billede jobless Nybegynder
30. marts 2004 - 19:07 #7
Hele problematikken er, at jeg ikke kan komme til at udskrive div'en inde i cellen, idet det er en newsticker som tager parametre for positionering, og defor vil jeg gerne udlæse cellens koordinater og sendt til newstickeren.
Avatar billede skovenborg Nybegynder
30. marts 2004 - 19:12 #8
og getPos virker ikke hvis du bruger den på tabellen?
<script type="javascript">
function getPos(elm) {
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}
pos = getPos(document.getElementById('celleID'));
</script>
Avatar billede jobless Nybegynder
30. marts 2004 - 19:32 #9
function getPos(elm) {
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}
pos = getPos(document.getElementById('mintd'));
alert(pos.y);

giver 0 (både x og y) ??

td:
<td height="100%" valign="top" align="left" ID="mintd" style="position:relative;top:0px;left:0px">
Avatar billede roenving Novice
30. marts 2004 - 19:34 #10
-- og det sker også, selvom den befinder sig et helt andet sted på skærmen ?-)
Avatar billede jobless Nybegynder
30. marts 2004 - 19:55 #11
ja, td'en er ikke samme sted som scriptet til udlæsning af koordinaterne
Avatar billede roenving Novice
30. marts 2004 - 19:59 #12
Men tden sidder ikke tilfældigvis i øverste venstre hjørne ?-)
Avatar billede jobless Nybegynder
30. marts 2004 - 20:10 #13
nope, i midten i højre side
Avatar billede roenving Novice
30. marts 2004 - 20:17 #14
Så har den placeret inde i en iframe ...
Avatar billede jobless Nybegynder
30. marts 2004 - 20:26 #15
heller ikke i en frame, den er inde i et par tabeller eller 3.

Jeg overvejer at ændre layout, så jeg får newstickeren i øverste venstre hjørne (det ved jeg sku' hvor er ;=))
Avatar billede olebole Juniormester
30. marts 2004 - 21:31 #16
jobless >> Det script virker for alle andre - i alle mulige forskellige situationer. Du gør et eller andet _helt_ galt - men det er ikke til at sige, hvad.
Du bliver nødt til at lægge en URL til eksemplet, så vi kan finde din(e) fejl, hvis du vil have hjælp  :)
Avatar billede jobless Nybegynder
30. marts 2004 - 21:43 #17
siden ligger lokalt hos mig, så jeg kan ikke give en url.

Jeg ændrer layoutet, men læg et svar, så skal du/I nok få point.
Avatar billede olebole Juniormester
30. marts 2004 - 21:53 #18
Det er ikke et spørgsmål om points. Det er langt vigtigere, at få rettet dine fejl - og de har ikke noget med dette script at gøre, men ligger et helt andet sted. Får vi ikke dem rettet, vil du jo blive ved med at lave samme fejl, uden du ved, du laver fejl  :)
Avatar billede jobless Nybegynder
31. maj 2004 - 21:52 #19
Fandt aldrig fejlen....

Tid til at lukke, er der nogen som ønsker point, venligst læg et svar.
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