Avatar billede zemko Nybegynder
10. oktober 2005 - 11:50 Der er 5 kommentarer

Drop Down Placering af menu.

Hej jeg har et problem.

Jeg har fået min drop down menu til at virke, men når jeg centerer den i min div, så dropper den ned det forkerte sted. min kode til at få den placeret er således, og jeg har prøvet lidt af hvert men det virker ikke.

aktiv = menunavn;
    menu.style.top = 70;
    top_menu = document.getElementById(id) //find span
    menu.style.pixelLeft = top_menu.offsetLeft;

Så vidt jeg kan se, er det de nederste 2 eller 1 som skal ændres, men ved ikke hvad den skal ændres til. håber du/I kan hjælpe??

Jesper
Avatar billede roenving Novice
10. oktober 2005 - 14:30 #1
Lyder som om du skal finde en anden menu, f.eks. ser det heller ikke så godt ud at bruge pixelLeft, som ikke understøttes af så mange nyere browsere (og ingen ældre !-)
Avatar billede softspot Forsker
10. oktober 2005 - 22:59 #2
Dette er ret utestet i denne sammenhæng og kan givetvis laves meget smartere.

Prøv at definere denne funktion:

function getAbsLeft(obj) {
  if(obj.offsetParent)
    return obj.offsetLeft + this.getAbsLeft(obj.offsetParent);
  else
    return obj.offsetLeft;
}

og benyt den ifm. specificering af left på menuen:

menu.left = getAbsLeft(top_menu) + "px";
Avatar billede roenving Novice
10. oktober 2005 - 23:52 #3
En lettere skrevet og en del mere effektiv er denne:

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}
}
Avatar billede softspot Forsker
10. oktober 2005 - 23:56 #4
...som sagt ;)
Avatar billede horsmark Nybegynder
11. oktober 2005 - 19:34 #5
roenving rykker for hårdt ;-)
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