Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

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

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

Подія mouseover активується, коли курсор миші наводиться на елемент або на будь-який його дочірній елемент. Це відрізняє її від події mouseenter, яка спрацьовує тільки на конкретному елементі, ігноруючи його дочірні елементи. Наприклад, якщо курсор заходить на батьківський блок із вкладеними елементами, подія mouseover спрацьовує як при вході на сам блок, так і при переміщенні миші між дочірніми елементами.

Однією з основних особливостей mouseover є те, що подія спливає (bubbling) вгору по DOM-дереву, тобто вона передається від дочірніх елементів до їхніх батьків. Це робить mouseover корисною для створення інтерактивних елементів, які повинні реагувати на наведення курсора на будь-яку частину елемента або його піделементи. Щоб використовувати mouseover, слід додати обробник за допомогою методу addEventListener:

const element = document.getElementById('myElement');
element.addEventListener('mouseover', function(event) {
  console.log('Курсор наведено на елемент або його дочірній елемент.');
});

Під час події передається об'єкт event, який містить корисну інформацію, таку як:

  • target: елемент, на який наведено курсор.
  • relatedTarget: елемент, з якого курсор пішов перед тим, як навести на новий елемент.

Подія mouseover часто використовується для створення спливаючих підказок (tooltips), підсвічування елементів інтерфейсу, показу додаткової інформації або взаємодії з меню. Її можна комбінувати з подією mouseout для обробки ситуації, коли курсор залишає область елемента.

element.addEventListener('mouseover', function() {
  element.style.backgroundColor = 'yellow';
});
element.addEventListener('mouseout', function() {
  element.style.backgroundColor = '';
});

Таким чином, подія mouseover дозволяє створювати складні інтерактивні взаємодії, реагуючи на рухи миші між елементами.

Порада:

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

Порада:

Подія mouseover спливає (bubbling) вгору по DOM-дереву, що може бути корисним для обробки взаємодії з групами елементів. Наприклад, можна додати один обробник на батьківський елемент для керування взаємодією з усіма його дочірніми елементами.

Порада:

Якщо вам потрібно реагувати тільки на конкретний елемент без його дочірніх елементів, варто використовувати mouseenter, щоб уникнути небажаних повторних викликів.

Синтаксис

Викликається, коли курсор миші наводиться на елемент або на будь-який його дочірній елемент.

Значення

Return

Переглядачі

Переглядач

66

57

11.1

53

16

Переглядач

66

66

57

11.3

Переглядач

15.0.0

1.0

Приклади


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

const listItems = document.querySelectorAll('.list-item');

listItems.forEach(function(item) {
  item.addEventListener('mouseover', function() {
    item.style.backgroundColor = 'lightblue';
  });
  
  item.addEventListener('mouseout', function() {
    item.style.backgroundColor = '';
  });
});

Цей приклад створює просту підказку, яка з'являється при наведенні курсора на елемент. Підказка слідує за курсором, а при виході курсора з елемента зникає.

const tooltip = document.createElement('div');
tooltip.style.position = 'absolute';
tooltip.style.padding = '5px';
tooltip.style.backgroundColor = 'black';
tooltip.style.color = 'white';
tooltip.style.display = 'none';
tooltip.textContent = 'Підказка';
document.body.appendChild(tooltip);

const element = document.getElementById('myElement');
element.addEventListener('mouseover', function(event) {
  tooltip.style.display = 'block';
  tooltip.style.left = event.pageX + 'px';
  tooltip.style.top = event.pageY + 'px';
});

element.addEventListener('mouseout', function() {
  tooltip.style.display = 'none';
});

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

const listItems = document.querySelectorAll('.list-item');

listItems.forEach(function(item) {
  item.addEventListener('mouseover', function() {
    item.style.backgroundColor = 'lightblue';
  });
  
  item.addEventListener('mouseout', function() {
    item.style.backgroundColor = '';
  });
});