Ինչպես պարզել կուրսորի կոորդինատները

Բովանդակություն:

Ինչպես պարզել կուրսորի կոորդինատները
Ինչպես պարզել կուրսորի կոորդինատները

Video: Ինչպես պարզել կուրսորի կոորդինատները

Video: Ինչպես պարզել կուրսորի կոորդինատները
Video: SKR Pro v1.x - Klipper install 2024, Նոյեմբեր
Anonim

Theննարկչի պատուհանում կուրսորի շարժմանն ի պատասխան որոշ գործողություններ ծրագրավորելու համար երբեմն անհրաժեշտ է որոշել դրա կոորդինատները: Դա կարող է կատարվել սցենարի միջոցով, որը հնարավորություն ունի դիտելու զննարկչում տեղի ունեցող իրադարձությունները: Հաճախորդի կողմից JavaScript գրությունը ունի այս հնարավորությունը: Ստորև նկարագրված է այս լեզվի հնարավորությունները օգտագործելով կուրսորի կոորդինատները ստանալու տարբերակներից մեկը:

Ինչպես պարզել կուրսորի կոորդինատները
Ինչպես պարզել կուրսորի կոորդինատները

Հրահանգներ

Քայլ 1

Օգտագործեք իրադարձության օբյեկտի հատկությունները `կուրսորի ընթացիկ կոորդինատները ստանալու համար: Այս օբյեկտը ունի հատկությունների մի ամբողջ շարք, որոնք կարևոր են մկնիկի կուրսորի կոորդինատները որոշելու համար: LayerX հատկությունը պարունակում է ընթացիկ շերտի ձախ եզրից պիքսելներով չափված հեռավորությունը, իսկ LayerY - նույն վերևի եզրից նույն հեռավորությունը: Այս երկու հատկություններն ունեն հոմանիշներ. Իրադարձության փոխարեն: Շերտ X, դուք կարող եք գրել event.x և իրադարձության փոխարեն: Շերտ, կարող եք գրել իրադարձություն. PageX- ի և pageY- ի հատկությունները պահում են կուրսորի հորիզոնական և ուղղահայաց կոորդինատները `զննարկիչի պատուհանի վերին ձախ եզրին համեմատ, իսկ screenX- ը և screenY- ի հատկությունները պահում են մոնիտորի էկրանի համեմատությամբ նման արժեքներ:

Քայլ 2

Ձեր կոդին ավելացրեք զննարկչի տիպի ստուգում և բացի իրադարձության օբյեկտի վերը նշված հատկություններից, օգտագործեք clientX և clientY հատկությունները: Դա անհրաժեշտ է, քանի որ Microsoft- ն իր Internet Explorer բրաուզերում օգտագործում է գույքի այլ նշանակություն: Դուք կարող եք համատեղել կոորդինատները որոշելու երկու մոտեցումները, օրինակ, այսպես.

եթե (evevnt.pageX || evevnt.pageY) {

կոորդինատ X = evevnt.pageX;

համակարգել Y = evevnt.pageY;

}

այլապես եթե (evevnt.clientX || evevnt.clientY) {

կոորդինատ X = evevnt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;

համակարգելY = evevnt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;

}

Քայլ 3

Տեղադրեք կոորդինատների սահմանման կոդը գործառույթի մեջ: Օրինակ:

գործառույթ GetMouse (evevnt) {

var կոորդինատ X = 0, կոորդինատY = 0;

եթե (! evevnt) evevnt = windows.event;

եթե (evevnt.pageX || evevnt.pageY) {

կոորդինատ X = evevnt.pageX;

համակարգել Y = evevnt.pageY;

}

այլապես, եթե (evevnt.clientX || evevnt.clientY) {

կոորդինատ X = evevnt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;

համակարգելY = evevnt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;

}

վերադարձնել {"ordinX ": կոորդինատ X," կոորդինատ ": կոորդինատY};

}

Այս ֆունկցիան վերադարձնում է անվանված երկու տարրերի զանգված, որոնցից առաջինը (ordinX ստեղնով) պարունակում է X կոորդինատ, իսկ երկրորդը (ordinY) պարունակում է Y կոորդինատ:

Քայլ 4

Functionանգահարեք այս գործառույթը ինչ-որ իրադարձության վրա, օրինակ `մկնիկի շարժման իրադարձության վրա (onmousemove) փաստաթղթի համատեքստում: Ստորև ներկայացված նմուշը օգտագործում է գործառույթ ՝ մկնիկի կոորդինատները կարգավիճակի տող դուրս բերելու համար.

document.onmousemove = գործառույթ (evevnt) {var CurCoord = GetMouse (evevnt); windows.status = "կոորդինատ X:" + CurCoord.coordX + "px, կոորդինատ Y:" + CurCoord.coordY + "px";};

Խորհուրդ ենք տալիս: