Avatar billede 2c Nybegynder
22. august 2005 - 11:02 Der er 10 kommentarer og
1 løsning

placering af div tag

Hej,
Jeg har en dropdownmenu i en div tag. Menuen skal være højrestillet lige over en tabel som er centreret og 800 px i breden.

Hvordan kan jeg gøre det ?

Lige nu ser min div tag således ud:

<div  id="menu" style="position: absolute; left: 100px; top: 150px;">..</div>
Avatar billede zarthax Nybegynder
22. august 2005 - 11:07 #1
<div  id="menu" style="align: right;">..</div>
Ville være mit bedste bud...
Avatar billede zarthax Nybegynder
22. august 2005 - 11:08 #2
Hov... det var ikke rigtigt...
<div  id="menu" style="align: right; position: absolute; top: 150px;">..</div>
Avatar billede 2c Nybegynder
22. august 2005 - 11:14 #3
Kan man godt lave en align right, når den har position absolute?
Avatar billede 2c Nybegynder
22. august 2005 - 11:24 #4
Ihvertfald virker det ikke lige hos mig. Det er samme resultat, når jeg fjerner left: 100px og når jeg fjerner left: 100px og tilføjer align: right;
Avatar billede 2c Nybegynder
22. august 2005 - 11:25 #5
Jeg havde selv tænkt noget med noget javascript. Tage dokument breden og div breden og sætte left til et eller andet i forhold til det.
Avatar billede mm12010 Nybegynder
22. august 2005 - 12:32 #6
Først finder du placeringen af tebellen, så lægger du tabellens bredde til, og tilsidst trækker du menuens bredde fra:

function getPos(elm){
  for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
  return {x:zx,y:zy};
}
function placeMenus(){
  document.getElementById('menu').style.left=(getPos(document.getElementById('DINTABEL')).x+document.getElementById('DINTABEL').offsetWitdh-document.getElementById('menu').offsetWitdh)+"px";
}
Avatar billede 2c Nybegynder
22. august 2005 - 14:17 #7
Hej mm12010

Så fik jeg det nogenlunde til at virke.

document.getElementById('menu').offsetWitdh kunne jeg dog ikke få til at virke(Den returnerede NaN, men jeg har ikke så mange menuer, så div breden kan jeg godt hardcode ind hver gang.

Smid et svar.
Avatar billede mm12010 Nybegynder
22. august 2005 - 14:20 #8
ok - offsetWitdh kan kun/først aflæses når elementet vises på siden, så en lille rækkefølge justering i din funktion burde klaren den...
Avatar billede olebole Juniormester
22. august 2005 - 14:47 #9
<ole>

Nej, for hvis et element ikke er tegnet i browseren, når man forsøger at læse dets offsetWidth, får man en anden fejl ... noget med, at objektet ikke har nogen egenskaber ... eller at et objekt er obligatorisk.

'NaN' kan ikke returneres fra et elements offsetWidth, uden man har lavet ret seriøse fejl  :)

/mvh
</bole>
Avatar billede 2c Nybegynder
22. august 2005 - 19:15 #10
mm12010, den er vist vist på siden når jeg kalder den.

Jeg har nok lavet en seriøs fejl, som ole siger.

Jeg har brugt den dropdown menu der er på denne side http://tutorials.alsacreations.com/deroulant/, og inkluderet den i noget javascript, da den dropdown jeg skal bruge, er en undermenu til nogen ovenliggende faneblade.

Jeg jeg vil prøve at se på hvorfor jeg får den alvorlige fejl en anden gang. Ligenu er jeg bare glad for at det virker. Tak for hjælpen.
Avatar billede mm12010 Nybegynder
24. august 2005 - 08:47 #11
selv tak - og god fornøjelse
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