JS властивість Event.clientY
Загальний опис
clientY — це властивість об'єкта MouseEvent, яка повертає вертикальну координату курсора миші у пікселях відносно видимої області браузера (вікна). Властивість використовується для визначення положення курсора по вертикалі під час подій миші, таких як click, mousemove, mousedown, mouseup тощо. Вона повертає значення, яке вимірюється від верхнього краю видимої частини вікна, де нуль відповідає верхній межі області.
Ця властивість є дуже корисною для інтерактивних додатків, де потрібне точне визначення координат миші для обробки подій. Застосування clientY забезпечує точне положення по вертикалі, дозволяючи створювати складні взаємодії, як-от визначення попадання курсора в межі елементів, керування пересуванням або обробку перетягування об'єктів. Важливо пам'ятати, що clientY повертає координату, яка не враховує прокрутку сторінки. Якщо потрібне положення курсора відносно всієї сторінки, слід використовувати властивість pageY.
document.addEventListener('mousemove', function(event) {
console.log(event.clientY); // Виведе вертикальну координату Y
});
Для оптимального використання clientY у великих або прокручених документах слід звертати увагу на поведінку з прокруткою. Поєднуючи clientY з іншими координатами, такими як clientX або pageY, можна створити точну обробку положення миші у видимій області.
- Порада
-
автор: BondclientYігнорує прокрутку сторінки, тому для визначення координат відносно всієї сторінки використовуйтеpageY, коли потрібні точні позиції у великих документах. - Порада
-
Значення
автор: BondclientYможе допомогти при створенні ефектів скролу або анімацій, залежних від позиції курсора. Наприклад, для зміни висоти або кольору елементів в залежності від координат миші. - Порада
-
Якщо ваш інтерфейс повинен адаптуватися до різних пристроїв, тестуйте поведінку
автор: BondclientYна мобільних екранах, щоб забезпечити правильну обробку подій дотику, оскільки вони мають інші вимоги і подекуди працюють черезTouchEvent.
Синтаксис
event.clientY
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | 10.6 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 37 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| - | - |
Приклади
+ запропонувати свій приклад у пісочниці
Цей приклад показує, як змінювати висоту елементу в залежності від вертикальної позиції курсора. Це зручно для створення інтерактивних елементів, які відображають прогрес або зміни по мірі переміщення миші.
HTML
<div class="progress">перший елемент progress</div>
<div class="progress">другий елемент progress</div>
JS
document.addEventListener('mousemove', function(event) {
let progressBar = document.querySelector('.progress');
let windowHeight = window.innerHeight;
let progress = (event.clientY / windowHeight) * 100;
progressBar.style.height = `${progress}%`;
});
У цьому прикладі змінюється прозорість елементу в залежності від положення курсора по вертикалі. Це створює плавний ефект затухання, де елемент стає менш прозорим при переміщенні миші вгору і більш прозорим при переміщенні вниз.
HTML
<div class="opacity">перший елемент opacity</div>
<div class="opacity">другий елемент opacity</div>
JS
document.addEventListener('mousemove', function(event) {
let opacityElement = document.querySelector('.opacity');
let windowHeight = window.innerHeight;
let opacity = 1 - (event.clientY / windowHeight);
opacityElement.style.opacity = opacity;
});
Цей приклад використовує подію mousemove, щоб відстежувати вертикальну позицію курсора (clientY). В залежності від цієї координати змінюється розмір шрифту вибраного елементу (заголовка або тексту). Переміщення курсора вниз збільшує розмір шрифту, створюючи ефект, який показує, як координати миші можуть впливати на стиль елементів в реальному часі.
Коментарі
Коментарів ще немає — будьте першим!