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


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

deltaX – це властивість об’єкта події WheelEvent, яка повертає значення горизонтального зсуву під час прокручування. Ця величина виражається в пікселях і вказує на те, наскільки сильно користувач прокрутив колесо миші або тачпад у горизонтальному напрямку. Позитивні значення вказують на прокручування вправо, а негативні – вліво.

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

Ось приклад обробки події wheel, де значення deltaX використовується для відстеження горизонтального зсуву:

document.addEventListener('wheel', function(event) {
  console.log('Горизонтальний зсув:', event.deltaX);
});

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

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

автор: Bond

Порада

deltaX значення може відрізнятися між платформами: на деяких платформах прокрутка працює чутливіше або дає вищі значення. Працюючи з цим, тестуйте на різних пристроях, щоб впевнитися, що прокрутка працює однаково.

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

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

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

Не використовуйте event.deltaX для визначення швидкості прокручування напряму, оскільки її величина може змінюватися. Визначайте швидкість за різницею значень між двома подіями або використовуйте таймер.

автор: Bond

Синтаксис

wheelEvent.deltaX

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
31 17 8 18 12 9
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4.3 31 17 8

Приклади

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

У цьому прикладі використовується deltaX для прокручування елементів каруселі в горизонтальному напрямку. При цьому preventDefault() зупиняє стандартну поведінку прокрутки, що дозволяє плавно керувати каруселлю за допомогою горизонтального прокручування.

HTML

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

JS

const carousel = document.querySelector('.carousel');
carousel.addEventListener('wheel', function(event) {
  event.preventDefault(); // Забороняємо стандартну прокрутку
  carousel.scrollLeft += event.deltaX; // Прокручуємо горизонтально
});
автор: Bond

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

HTML

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

JS

const gallery = document.querySelector('.gallery');
gallery.addEventListener('wheel', function(event) {
  const speed = 5; // Фактор масштабування для регулювання швидкості
  gallery.scrollLeft += event.deltaX * speed;
});
автор: 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`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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