Задать вопрос
@Zellar13

Как сделать меню, как на сайте citilink.ru?

Как сделать меню, как на сайте citilink.ru 60055257718e2951984689.jpeg ? То есть когда наводишь на пункт меню, происходит задержка, потом пункт меню становится активным и за счет этого можно вести по диагонали к пунктам подменю. Пытался сделать, но выходит какая то фигня. Например я навожу на пункт меню, ему добавляется класс active, появляется подменю и когда я веду по диагонали я цепляю соседний пункт меню и класс active на одну милисикунду пропадает и снова появляется
$(".dropdown-submenu").on("mouseenter", function(){
    let a = $(this);
    timeout = setTimeout (function(){
      a.addClass("active"),
      a.find('.dropdown-menu_delay').show(500);
    }, 800);
  }),
  $(".dropdown-submenu").on("mouseleave", function(){
    clearTimeout(timeout);
    let a = $(this);
    setTimeout (function(){
    if(a.hasClass("active")){
      a.removeClass("active"),
      a.find('.dropdown-menu_delay').hide(500);
    }}, 800);
  });
  • Вопрос задан
  • 229 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
@Zellar13 Автор вопроса
В общем я сделал, кому нужно, может посмотреть
https://jsfiddle.net/rgLks2fb/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@strelok011
добавьте еще переменную-флаг. Если она активна, наезд на пункт меню игнорируется.
Взводите ее на первом открывающемся пункте, отключаете по таймауту на выходе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы