Jak Znaleźć Współrzędne Kursora

Spisu treści:

Jak Znaleźć Współrzędne Kursora
Jak Znaleźć Współrzędne Kursora

Wideo: Jak Znaleźć Współrzędne Kursora

Wideo: Jak Znaleźć Współrzędne Kursora
Wideo: Jak prosto znaleźć kursor na ekranie 2024, Listopad
Anonim

Aby zaprogramować niektóre akcje w odpowiedzi na ruch kursora w oknie przeglądarki, czasami konieczne jest określenie jego współrzędnych. Można to zrobić za pomocą skryptu, który ma możliwość śledzenia zdarzeń występujących w przeglądarce. Skrypt JavaScript po stronie klienta ma taką możliwość. Poniżej opisana jest jedna z opcji uzyskania współrzędnych kursora z wykorzystaniem możliwości tego języka.

Jak znaleźć współrzędne kursora
Jak znaleźć współrzędne kursora

Instrukcje

Krok 1

Użyj właściwości obiektu zdarzenia, aby uzyskać bieżące współrzędne kursora. Obiekt ten posiada cały zestaw właściwości, które są istotne przy określaniu współrzędnych kursora myszy. Właściwość LayerX zawiera odległość mierzoną w pikselach od lewej krawędzi bieżącej warstwy, a LayerY - taką samą odległość od jej górnej krawędzi. Te dwie właściwości mają synonimy - zamiast event. LayerX możesz napisać event.x, a zamiast event. LayerY możesz napisać event.y. Właściwości pageX i pageY przechowują współrzędne poziome i pionowe kursora względem lewej górnej krawędzi okna przeglądarki, a właściwości screenX i screenY mają podobne wartości w stosunku do ekranu monitora.

Krok 2

Dodaj sprawdzanie typu przeglądarki do kodu i użyj właściwości clientX i clientY oprócz powyższych właściwości w obiekcie zdarzenia. Jest to konieczne, ponieważ firma Microsoft używa innego oznaczenia właściwości w swojej przeglądarce Internet Explorer. Możesz połączyć oba podejścia do określania współrzędnych, na przykład tak:

if (zdarzenie.stronaX || wydarzenie.stronaY) {

współrzędnaX = zdarzenie.stronaX;

współrzędna Y = zdarzenie.stronaY;

}

inaczej if (event.clientX || event.clientY) {

współrzędnychX = zdarzenie.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;

współrzędnaY = zdarzenie.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;

}

Krok 3

Umieść kod definicji współrzędnych w funkcji niestandardowej. Na przykład:

funkcja GetMouse (zdarzenie) {

var współrzędna X = 0, współrzędna Y = 0;

if (! zdarzenie) zdarzenie = okno.zdarzenie;

if (zdarzenie.stronaX || wydarzenie.stronaY) {

współrzędnaX = zdarzenie.stronaX;

współrzędna Y = zdarzenie.stronaY;

}

else if (event.clientX || event.clientY) {

współrzędnychX = zdarzenie.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;

współrzędnaY = zdarzenie.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;

}

return {"coordX": coordnX, "coordY": coordyY};

}

Ta funkcja zwraca tablicę dwóch nazwanych elementów, z których pierwszy (z kluczem coordX) zawiera współrzędną X, a drugi (coordY) zawiera współrzędną Y.

Krok 4

Wywołaj tę funkcję w jakimś zdarzeniu - na przykład w zdarzeniu ruchu myszy (onmousemove) w kontekście dokumentu. Poniższy przykład wykorzystuje funkcję do wyprowadzania współrzędnych myszy na pasek stanu:

document.onmousemove = function (event) {var CurCoord = GetMouse (event); window.status = "coord X:" + CurCoord.coordX + "px, coord Y:" + CurCoord.coordY + "px";};

Zalecana: