Hvordan Finne Ut Koordinatene Til Markøren

Innholdsfortegnelse:

Hvordan Finne Ut Koordinatene Til Markøren
Hvordan Finne Ut Koordinatene Til Markøren

Video: Hvordan Finne Ut Koordinatene Til Markøren

Video: Hvordan Finne Ut Koordinatene Til Markøren
Video: Funksjoner - video 2 - grafen til en funksjon 2024, November
Anonim

For å programmere noen handlinger som svar på bevegelsen av markøren i nettleservinduet, er det noen ganger nødvendig å bestemme koordinatene. Dette kan gjøres med et skript som har muligheten til å spore hendelser som oppstår i nettleseren. Et JavaScript-skript på klientsiden har denne muligheten. Nedenfor er beskrevet et av alternativene for å skaffe koordinatene til markøren ved hjelp av funksjonene til dette språket.

Hvordan finne ut koordinatene til markøren
Hvordan finne ut koordinatene til markøren

Bruksanvisning

Trinn 1

Bruk egenskapene til hendelsesobjektet for å få de aktuelle koordinatene til markøren. Dette objektet har et helt sett med egenskaper som er relevante for å bestemme koordinatene til musemarkøren. LayerX-egenskapen inneholder avstanden målt i piksler fra venstre kant av gjeldende lag, og LayerY - samme avstand fra toppkanten. Disse to egenskapene har synonymer - i stedet for event. LayerX kan du skrive event.x, og i stedet for event. LayerY kan du skrive event.y. PageX og pageY-egenskapene har de horisontale og vertikale koordinatene til markøren i forhold til den øvre venstre kanten av nettleservinduet, og egenskapene for screenX og screenY har lignende verdier i forhold til skjermbildet.

Steg 2

Legg til nettlesertypekontroll i koden din og bruk clientX- og clientY-egenskapene i tillegg til de ovennevnte egenskapene på hendelsesobjektet. Dette er nødvendig fordi Microsoft bruker en annen eiendomsbetegnelse i Internet Explorer-nettleseren. Du kan kombinere begge tilnærminger for å bestemme koordinater, for eksempel slik:

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

coordinateX = evevnt.pageX;

koordinatY = evevnt.pageY;

}

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

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

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

}

Trinn 3

Plasser koordinatdefinisjonskoden i en tilpasset funksjon. For eksempel:

funksjon GetMouse (evevnt) {

var koordinatX = 0, koordinatY = 0;

hvis (! evevnt) evevnt = window.event;

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

coordinateX = evevnt.pageX;

koordinatY = evevnt.pageY;

}

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

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

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

}

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

}

Denne funksjonen returnerer en matrise med to navngitte elementer, hvorav den første (med coordX-tasten) inneholder X-koordinaten, og den andre (coordY) inneholder Y-koordinaten.

Trinn 4

Kall denne funksjonen på en hendelse - for eksempel på musebevegelseshendelsen (flytt musen) i dokumentkonteksten. Eksemplet nedenfor bruker en funksjon for å sende musekoordinatene til statuslinjen:

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

Anbefalt: