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


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

clientX — це властивість об'єкта MouseEvent, яка повертає горизонтальну координату курсора миші у пікселях відносно видимої області браузера (вікна). Ця властивість є корисною для відстеження позиції миші під час подій, таких як click, mousemove, mousedown, mouseup тощо. Значення clientX починає відлік від лівого краю видимої області браузера, де нуль відповідає її лівій межі.

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

document.addEventListener('mousemove', function(event) {
    console.log(event.clientX); // Виведе координату X відносно вікна
});

Для повноцінної роботи з координатами миші в HTML-документах може бути корисно також комбінувати clientX з іншими властивостями, такими як clientY, щоб отримати точні координати на площині.

автор: Bond

Порада

Якщо потрібно обмежити зону взаємодії, використовуйте clientX з додатковими умовами, щоб реагувати лише на події в певних межах. Це корисно для створення інтерфейсів, де потрібно обмежити пересування об’єктів.

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

clientX повертає координату відносно видимої області браузера, а не всієї сторінки, тому для визначення точної позиції на сторінці використовуйте pageX, якщо вам потрібна координата, враховуючи прокрутку.

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

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

автор: Bond

Синтаксис

event.clientX

Переглядачі

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

Приклади

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

Цей приклад дозволяє перетягувати елемент при кліку, автоматично центрованим на координаті clientX. Це зручно для реалізації функції перетягування, коли об'єкт переміщується за точкою кліку.

HTML

<div class="draggable">перший елемент draggable</div>
<div class="draggable">другий елемент draggable</div>

JS

document.addEventListener('click', function(event) {
    let box = document.querySelector('.draggable');
    box.style.left = event.clientX - box.offsetWidth / 2 + 'px';
});
автор: Bond

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

HTML

<div class="background">перший елемент background</div>
<div class="background">другий елемент background</div>

JS

document.addEventListener('mousemove', function(event) {
    let gradient = document.querySelector('.background');
    gradient.style.backgroundPosition = `${event.clientX}px 0px`;
});
автор: Bond

У цьому прикладі функція mousemove відстежує положення миші, використовуючи clientX для визначення горизонтальної координати. Залежно від вибору користувача (фон або текст), колір обраного елементу змінюється в реальному часі, переходячи від червоного до синього, що дозволяє створити інтерактивний досвід для користувача.

автор: Bond

Коментарі

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

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

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

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

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

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

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

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

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

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

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