راکت
Mesusjk
Mesusjk
توسط 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};
  }
}

ثبت پرسش جدید
سینا شاه‌اویسی
سینا شاه‌اویسی
تخصص :برنامه نویس
@sinashahoveisi6 سال پیشمطرح شد
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
تخصص :برنامه نویس جنگو و پایتون
@Mesusjk6 سال پیشمطرح شد
0

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


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

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


میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
0

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


Mesusjk
Mesusjk
تخصص :برنامه نویس جنگو و پایتون
@Mesusjk6 سال پیشمطرح شد
میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
1

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


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

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