Avatar billede kartinm Nybegynder
22. februar 2004 - 17:11 Der 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...
Avatar billede skovenborg Nybegynder
22. februar 2004 - 17:53 #1
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;
Avatar billede skovenborg Nybegynder
22. februar 2004 - 17:55 #2
hov det var den højre kant - så skal du nok hellere bruge offsetWidth fx
sub-submenu.left = document.getElementById("submenu1").offsetWidth - 5;
Avatar billede kartinm Nybegynder
22. februar 2004 - 18:18 #3
men virker denne  sætning i alle browsere ( næsten ) eller kun i IE ? :
document.getElementById("submenu1").offsetWidth - 5;

Kender nogen lignende sætninger, til de andre browsere ?
Avatar billede skovenborg Nybegynder
22. februar 2004 - 18:54 #4
offsetWidth virker også i andre browsere men kan have andre tolkninger af hvordan den måles
Avatar billede roenving Novice
23. februar 2004 - 14:13 #5
>>skovenborg

-- til din historik: olebole (som jeg har den fra !-) siger, at det er jumper, som i sin lavede den !o]
Avatar billede skovenborg Nybegynder
23. februar 2004 - 18:34 #6
ahh, mente nok jeg havde set det et sted - den er jo blevet referet til utallige gange herinde ;-)
Avatar billede kartinm Nybegynder
04. januar 2005 - 15:31 #7
lukker
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