"Jimmy" <nyhedsgruppe2001@FJERN.yahoo.co.uk> writes:
> "Erik Ginnerskov" <eginNOSPAM@html-faq.dk> wrote in message
> news:c0qnli$3v0$2@sunsite.dk...
>>
>> "Jimmy" <nyhedsgruppe2001@FJERN.yahoo.co.uk> skrev
>>
>> > Jeg har et billede, evt indlejret i en div, som jeg gerne vil kende de
>> > absolutte koordinater på.
>> > Jeg søger altså billedets (0,0) i browserens/skærmens koordinatsystem.
>> >
>> > Er dette muligt at finde?
>>
>> Regn med, at billedets pixel nr. 0,0 er den øverste til venstre.
>> Pixel nr. 0,1 er den anden pixel i første række.
>> Pixel nr. 1,0 er den første pixel i næste række.
>
>
> Jeg fik forklaret mig dårligt
>
>
http://hjem.get2net.dk/nyhedsgruppe/test.html
>
> Hvordan finder man koordinatsættet til billedets øverste venstre pixel via
> JavaScript?
Helt generelt kan man ikke gøre det. Der er ingen standard for det.
Det der er, er nogle meget udbredte egenskaber på DOM-knuder:
offsetTop, offsetLeft og offsetParent.
De to første giver offset i pixels i forhold til den sidstes position.
Ved at kravle op ad parent-kæden kan man tælles sammen hvor elementet
er placeret.
Prøv fx. denne funktion:
---
function getPosition(elem) {
var x=0,y=0;
while( elem != null) {
x += elem.offsetLeft;
y += elem.offsetTop;
elem = elem.offsetParent;
}
return {x:x,y:y};
}
---
Bruger jeg den på din side og tilføjer dette til body.onload:
---
var pos=getPosition(document.images[0]);alert([pos.x,pos.y]);
---
så siger den:
8,98 i Opera
10,110 i IE 6
8,108 i Moz FireFox
Det er altså lidt forskelligt. Ikke overraskende, dog. Opera har 8px padding
på dokumentet, Mozilla har 8px margin, og IE har 10px margin. Åbenbart
er linjehøjden 18px i Opera og 20 i de andre (men de bruger også forskellige
fonte).
Husk at det du får koordinaten på er øverste venstre hjørne af
billedelementet *inklusive* padding og border, så hvis der er border på,
så er det øverste venstre punkt af borderen.
Jeg mener at have hørt der er nogle tilfælde hvor IE giver lidt
forkerte svar, men kan ikke lige finde noget om det.
Jeg ved ikke om det er understøttet i Safari/Konqueror. Jeg ved at
det ikke er i Netscape 4, men hvor er overraskelsen i det :)
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'