xy positie

Status
Niet open voor verdere reacties.

jeroendenoot

Terugkerende gebruiker
Lid geworden
14 mrt 2005
Berichten
1.492
Hallo, hoe kan ik met javascript de horizontale en de verticale positie vanaf de randen van de browser te weten komen?
Ik heb dus bijvoorbeeld een plaatje en ik wil weten hoeveel pixels tussen de linkerkant van het plaatje en de linker zijkant van de browser zit en hoeveel pixels tussen de bovenkant van het plaatje en de bovenkant van de browser zit.
Hoe doe ik dat?
 
ik weet er niet zo veel van , maar mischien met printscreen? en dan met paint ofzo bekijken hoeveel pixels er tussen zitten?
 
Is dat niet te berekenen met iets in de trand van "image.style.x - window.left" en "image.style.y - window.top"?

Het is maar een idee die ik hier zomaar even uit mijn botten sla hoor, of het werkt is een andere vraag.

Greetz : Jer:cool:en.
 
Ja, zoiets zou misschien kunnen. Ik heb het geprobeerd, maar het was nogal kansloos, omdat de eigenschap x niet bestaat in CSS.
Nog andere ideeën die wel werken?
 
Werkt het ook niet als je de x vervangt door left en de y door top?

Greetz : Jer:cool:en.
 
document.write(document.getElementById("afbeelding").style.left - window.left);

Dit werkt ook niet; document.getElementById("afbeelding").style.left is leeg, window.left is undefinded het resultaat van niks min undefinded is dus NaN (Not a Number). :confused:
Dit is dus ook niet echt de goede oplossing... Nog iemand een idee?
 
var obj = document.getElementById("afbeelding");

links = obj.offsetLeft;
boven = obj.offsetTop;
breedte = obj.offsetWidth;
hoogte = obj.offsetHeight;

browserLinks = links - document.body.scrollLeft;
browserBoven = boven - document.body.scrollTop;



Het werkt in Ie en Fx. Zie bijlage. :)


Vr.Gr. Egel
 

Bijlagen

Laatst bewerkt:
Bedankt Egel, ik dacht wel dat jij het zou weten. ;)
Ik bedoelde eigenlijk tot de bovenkant en tot de linkerkant van de pagina, maar dat is dus gewoon offsetLeft en offsetTop.
Heel erg bedankt!
 
Kan het ook met position: static?
Dat er dus gewoon van alles boven en in een tabel en zo, maar dat er toch gewoon wordt gemeten vanaf de bovenkant van de pagina. Bij mij werkt het niet met deze code.
 
De offset wordt gerekend vanaf de tabel-cel waarin het plaatje staat, die staat weer in de tabel en die staat in het document.

var obj = document.getElementById("afbeelding");

var links = obj.offsetLeft, boven = obj.offsetTop;

while (obj.offsetParent) {
obj = obj.offsetParent;
links += obj.offsetLeft;
boven += obj.offsetTop;
};



Dat telt van binnen naar buiten alle offset's bij elkaar op. :) De bijlage is een voorbeeld; als je op een gekleurd vlakje klikt geeft de titel de afstanden links en boven.


Vr.Gr. Egel.
 

Bijlagen

Bedankt! Ik kreeg het vermoeden dat het niet kon, maar het kan dus toch, super bedankt! ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan