Sådan Finder Du Ud Af Koordinaterne Til Markøren

Indholdsfortegnelse:

Sådan Finder Du Ud Af Koordinaterne Til Markøren
Sådan Finder Du Ud Af Koordinaterne Til Markøren

Video: Sådan Finder Du Ud Af Koordinaterne Til Markøren

Video: Sådan Finder Du Ud Af Koordinaterne Til Markøren
Video: How to Search, Enter Coordinates, Measure Distance, u0026 Add Markers 2024, November
Anonim

For at programmere nogle handlinger som reaktion på markørens bevægelse i browservinduet er det undertiden nødvendigt at bestemme dets koordinater. Dette kan gøres ved hjælp af et script, der har evnen til at spore begivenheder, der opstår i browseren. Et JavaScript-script på klientsiden har denne mulighed. Nedenfor er beskrevet en af mulighederne for at opnå koordinaterne til markøren ved hjælp af dette sprogs muligheder.

Sådan finder du ud af koordinaterne til markøren
Sådan finder du ud af koordinaterne til markøren

Instruktioner

Trin 1

Brug egenskaberne for hændelsesobjektet til at hente de aktuelle koordinater for markøren. Dette objekt har et helt sæt egenskaber, der er relevante for bestemmelse af musemarkørens koordinater. LayerX-egenskaben indeholder afstanden målt i pixels fra venstre kant af det aktuelle lag og LayerY - den samme afstand fra dens øverste kant. Disse to egenskaber har synonymer - i stedet for event. LayerX kan du skrive event.x, og i stedet for event. LayerY kan du skrive event.y. SideX- og pageY-egenskaberne holder markørens vandrette og lodrette koordinater i forhold til den øverste venstre kant af browservinduet, og egenskaberne screenX og screenY har lignende værdier i forhold til skærmbilledet.

Trin 2

Føj browsertypekontrol til din kode og brug clientX- og clientY-egenskaberne ud over ovenstående egenskaber på begivenhedsobjektet. Dette er nødvendigt, fordi Microsoft bruger en anden egenskabsbetegnelse i sin Internet Explorer-browser. Du kan kombinere begge tilgange til bestemmelse af koordinater, for eksempel på denne måde:

hvis (evevnt.pageX || evevnt.pageY) {

koordinatX = evevnt.pageX;

koordinatY = evevnt.pageY;

}

ellers hvis (evevnt.clientX || evevnt.clientY) {

coordinateX = evevnt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;

koordinatY = evevnt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;

}

Trin 3

Placer koordinatdefinitionskoden i en brugerdefineret funktion. For eksempel:

funktion GetMouse (evevnt) {

var koordinatX = 0, koordinatY = 0;

hvis (! evevnt) evevnt = window.event;

hvis (evevnt.pageX || evevnt.pageY) {

koordinatX = evevnt.pageX;

koordinatY = evevnt.pageY;

}

ellers hvis (evevnt.clientX || evevnt.clientY) {

coordinateX = evevnt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;

koordinatY = evevnt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;

}

returner {"coordX": coordinateX, "coordY": coordinateY};

}

Denne funktion returnerer en matrix med to navngivne elementer, hvoraf den første (med coordX-tasten) indeholder X-koordinaten, og den anden (coordY) indeholder Y-koordinaten.

Trin 4

Kald denne funktion til en eller anden begivenhed - for eksempel på musens bevægelsesbegivenhed (onmousemove) i dokumentkonteksten. Eksemplet nedenfor bruger en funktion til at sende musekoordinaterne til statuslinjen:

document.onmousemove = funktion (evevnt) {var CurCoord = GetMouse (evevnt); window.status = "koord X:" + CurCoord.coordX + "px, koord Y:" + CurCoord.coordY + "px";};

Anbefalede: