Показать сообщение отдельно
  #4 (permalink)  
Старый 21.05.2024, 21:14
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Как-то так, уже мутновато на глазок делать, то тестить лень.
// Получаем все элементы с классом .item
const level1 = document.querySelectorAll('.is-nested');
let lastItem;

// Добавляем обработчик события для каждого элемента
level1.forEach(item => {
  let closeTimer;

  // Добавляем класс .is-active при наведении мыши
  item.addEventListener('mouseenter', () => {
    clearTimeout(closeTimer);

    if (lastItem && lastItem !== item) {
      lastItem.classList.remove('is-active');
    } else {
      item.classList.add('is-active');      
    }

    lastItem = item;
  });

  // Удаляем класс .acis-active при уходе мыши
  item.addEventListener('mouseleave', () => {
    closeTimer = setTimeout(() => {
      item.classList.remove('is-active');
    }, 1 * 1000);
  });
});
__________________
29375, 35
Ответить с цитированием