Mit problem er bare, at offsetLeft er 0, og jeg kan tilsyneladende kun få den til at afgive en anden værdi, hvis jeg sætter div\'ens position til \"absolute\" og sætter en top/left position på (f.eks. style=\"position: absolute; left:50; top:40\")
Findes der ikke en måde at omgå dette, så jeg istedet bare får top/left koordinater at vide efter at Explorer har placeret div\'en?
Problemet med offsetLeft er at den er relativ i forhold til \"parent\" elementet. Derfor har jeg lavet et par funktioner, der kan arbejde sig hele træet tilbage (De virker tilsyneladende også i netscape!!):
function posLeft(e) { var i=e.offsetLeft; if(e.offsetParent!=null) i+=posLeft(e.offsetParent); return(i); } function posTop(e) { var i=e.offsetTop; if(e.offsetParent!=null) i+=posTop(e.offsetParent); return(i); }
Hvis du f.eks. tager fat i et element e: e = document.all(\'mindiv\') og kalder posLeft(e) - så får du den absolutte position på skærmen. posTop(e) giver dig y positionen
Ovenstående ser da ud til at virke, hvis man antager at første div placeres yderst til venstre, og de flugter hinanden nøjagtigt. Det er det kun alvion der ved.
Med hensyn til at man kun kan arbejde med absolut positionering i Netscape 4.7 er det ikke helt rigtigt.
Det er korrekt at Inline styles skal være absolut positionerede, for at netscape overhovedet betragter dem, men der er heldigvis andre måder.
Hvis du benytter navngivne styles istedet, kan du godt anvende relative lag. Det ser ud i retning af:
<STYLE TYPE=\"text/css\"> <!-- #myDiv (position:relative;left:0;top:0} --> </STYLE> <div id=\"myDiv\">Den her er relative</div>
Nu kan du godt få fat i (de relative) left/top attributterne v.h.a. document.layers[\'mydiv\'].left og document.layers[\'mydiv\'].top .
Alvion--> Hvis oleboles løsning er ok, vil jeg ikke gøre mere. Ellers må du lige sige til. Det kan også være ovenstående er nok til at du kommer videre i Netscape4.7?
#myDiv {position:relative;left:0;top:0} ...vil nok - under alle omstændigheder - virke bedre =o) /mvh
Synes godt om
Ny brugerNybegynder
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.