JS властивість Event.screenY


Загальний опис

screenY — це властивість об'єкта MouseEvent, яка повертає вертикальну (по осі Y) позицію курсору миші в пікселях відносно верхнього лівого кута екрана. Як і screenX, ця властивість відображає положення курсору не відносно браузера чи документа, а відносно фізичного екрана або екранів, якщо їх декілька. Вона зчитує точну координату курсору незалежно від прокручування сторінки або положення елементів.

Коли користувач виконує будь-яку дію з мишею (наприклад, натискає кнопку миші або пересуває курсор), об'єкт події MouseEvent надає доступ до кількох властивостей, серед яких є screenY. Ця властивість дозволяє розробникам відстежувати, на якій висоті екрану знаходиться курсор, що особливо корисно для створення складних інтерфейсів, таких як інтерактивні ігри, графічні редактори або будь-які програми, що потребують точного відстеження рухів миші.

Приклад використання:

document.addEventListener('mousemove', function(event) {
    console.log(event.screenY);
});

У цьому прикладі під час переміщення миші по екрану в консоль будуть виводитися значення координати screenY. Це значення може використовуватися для різних цілей, таких як зміна положення елементів на сторінці або динамічне реагування на переміщення курсору.

На відміну від координат вікна браузера (clientY), screenY дає глобальну позицію миші на всіх моніторах. Якщо курсор знаходиться на додатковому екрані, що знаходиться вище або нижче основного, значення screenY змінюватиметься відповідно до цього розташування. Наприклад, при використанні двох моніторів, де додатковий екран знаходиться нижче головного, значення screenY може бути більшим за висоту основного екрану, оскільки враховується висота обох моніторів.

Також важливо враховувати, що при роботі з різними екранами розмір пікселів і роздільна здатність можуть відрізнятися, тому ці координати можуть не завжди точно відповідати візуальному сприйняттю на кожному моніторі.

автор: Bond

Порада

Щоб краще розуміти співвідношення між координатами екрана і вікна браузера, використовуйте одночасно властивості screenY і clientY. Це допоможе відслідковувати позицію курсора як на рівні екрана, так і на рівні сторінки.

автор: Bond
Порада

Якщо ви використовуєте значення screenY для анімацій або інтерфейсів, переконайтеся, що елементи реагують на рух миші плавно. Використовуйте додаткові функції, такі як requestAnimationFrame, щоб уникнути ривків під час оновлення позиції або стилю елементів.

автор: Bond
Порада

Для створення складних інтерфейсів, що реагують на положення миші, можна комбінувати screenY з іншими подіями миші, такими як mousedown, щоб активувати певну поведінку елементів при певному положенні курсору.

автор: Bond

Синтаксис

event.screenY

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1.5 1 12.1 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
37 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі координата screenY використовується для поділу екрану на дві частини. Якщо курсор миші знаходиться у верхній частині екрана, виводиться один повідомлення, а якщо в нижній — інше. Це можна використовувати для зміни інтерфейсу залежно від положення миші.

let threshold = window.screen.height / 2;

document.addEventListener('mousemove', function(event) {
    if (event.screenY > threshold) {
        console.log("Курсор знаходиться в нижній частині екрана");
    } else {
        console.log("Курсор знаходиться у верхній частині екрана");
    }
});
автор: Bond

У цьому прикладі відстежується напрямок руху курсору по вертикалі. Ми порівнюємо поточне значення screenY з попереднім, щоб визначити, чи переміщається курсор вгору або вниз. Це можна використовувати для створення інтерфейсів, що реагують на вертикальний рух миші, наприклад, для прокручування або масштабування елементів.

let lastY = 0;

document.addEventListener('mousemove', function(event) {
    let deltaY = event.screenY - lastY;
    console.log("Вертикальний рух:", deltaY > 0 ? "вниз" : "вгору");
    lastY = event.screenY;
});
автор: Bond

Користувач переміщує мишу по вертикалі, і висота блоку змінюється відповідно до поточного положення курсора відносно екрана. Висота блоку динамічно варіюється від 50 до 500 пікселів залежно від координати screenY. Це може бути корисно для створення інтуїтивно зрозумілих інтерфейсів, які реагують на рухи миші, як-от адаптивні блоки або панелі керування.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід