Mesusjk
4 سال پیش توسط Mesusjk مطرح شد
6 پاسخ

مکان ماوس

سلام. وقتتون بخیر. این تابع زیر position ماوس رو پیدا میکنه. ولی از نوع کارش زیاد سر در نمیارم. میشه کمی دربارش توضیح بدید؟

  function getCursorPos(e) {
    var a, x = 0, y = 0;
    e = e || window.event;
    /*get the x and y positions of the image:*/
    a = img.getBoundingClientRect();
    /*calculate the cursor's x and y coordinates, relative to the image:*/
    x = e.pageX - a.left;
    y = e.pageY - a.top;
    /*consider any page scrolling:*/
    x = x - window.pageXOffset;
    y = y - window.pageYOffset;
    return {x : x, y : y};
  }
}

ثبت پرسش جدید
سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 4 سال پیش مطرح شد
0

مکان موس توسط تابع زیر قابل تشخیص است

let a = document.querySelector('')
a.addEventListener("mousemove", function(e){console.log(e)});

حالا به جای function تعریف شده میتوان تابع getCursorPos که خودتون نوشتید گذاشته بشه

let a = document.querySelector('')
a.addEventListener("mousemove",getCursorPos)});

به این صورت که تابع رو یک جای دیگه تعریف میکنید و در EventListener فقط آن تابع را پاس میدید که وقتی این اتفاق در موس افتاد تابع getCursorPos صدا زده شود.


Mesusjk
تخصص : برنامه نویس جنگو و پایتون
@Mesusjk 4 سال پیش مطرح شد
0

@sinashahoveisi خروجی این با خروجیه تابعی که خودم نوشتم دقیقا یکیه؟


سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 4 سال پیش مطرح شد
0

تابعی که خودتون نوشتید اصلا استفاده نمیشه، اگر run کنید هیچ کاری انجام نمیشه یه تابعس فقط.
یک تابع دیگه باید اینو صدا کنه. اون تابع اسمش addEventListener یعنی وقتی رخ دادی صورت گرفت صدا زده میشه.
حالت رخداد چیه؟ حالت "mousemove" یعنی موس حرکت کرد.
وقتی این اتفاق افتاد چه کاری انجام بشه؟ تابع getCursorPos صدا زده بشه و کارای توش انجام بشه.


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
0

این تابع موقعیت اشاره گر رو در صفحه پیدا نمی کنه، بلکه موقعیت اشاره گر رو درون یک عنصر دیگر (در اینجا یک عکس با نام متغیر img) مشخص میکنه.


Mesusjk
تخصص : برنامه نویس جنگو و پایتون
@Mesusjk 4 سال پیش مطرح شد
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
1

خواهش میکنم، سرزنده باشی.
قبلا گزینه ی تشکر وجود داشت، همون کافی بودش. الان دیگه گزینه ی تشکر در نظرات موجود نیست، میتونید جهت رو به بالا رو بزنید در عوض : )


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام