22. februar 2004 - 17:11Der er
6 kommentarer og 1 løsning
script til at finde bredden på et layer element
jeg har lavet en dynamisk menu, hvor indholdet er hevet ud af en database, og alle submenu´er lægges i hver sit layer. Problemet er, at hvis der er flere levels.. f.eks. menu -> submenu -> sub-submenu... Hvordan finder jeg den position, hvor sub-submenu layeret skal placeres. submenu layerets bredde er afhængig af indholdets størrelse, d.v.s. at jeg IKKE på forhånd angiver en bredde. Hvordan finder jeg den yderste højre kant på submenu-layeret. Hvis jeg finder den, så kan jeg sige:
sub-submenu.left = submenu.right -5px... hvis I forstår...
prøv getPos funktionen (hvem der så end har lavet den ;-) function getPos(elm) { for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); return {x:zx,y:zy} }
Den returnerer den faktiske placering af et element. Hvis du vil have placeringen af en submenu med id'en submenu1 skriver du: obj = getPos(document.getElementById("submenu1")); x = obj.x; y = obj.y;
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.