Как переделать что бы не при клике, а при наведении открывалось выпадающее меню?

$('.nav-wrap > ul > li > a').click(function(e) {

    if ($(this).parent().hasClass("selected")) {

        e.preventDefault();

        $(this).parent().removeClass("selected");

        return

    }

    else if($(this).parent().hasClass("submenu-ind")){

        e.preventDefault();

    }

    $('.nav-wrap > ul > li').removeClass("selected");

    $(this).parent().addClass("selected");

});

$('.nav-wrap > ul > li > ul').parent().addClass("submenu-ind");



$('.mob-menu-btn').click(function() {

    if($('nav').hasClass("navActive")){

        $('nav').removeClass("navActive");

        $('nav').slideUp();

    $('.f-nav').show();

        return

    }

    $('nav').slideDown();

  $('.f-nav').hide();

    $('nav').addClass("navActive");

})
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
Exploding
@Exploding
wtf?
Какие клики, какие ховеры... Это все делается на чистой воды css.
P.S. И правильней использовать универсальный метод .on(); если уж прям так решили.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mesuti
@Mesuti
$('el').hover(
function(){
...
});


Получается -

$('.nav-wrap > ul > li > a').hover(function(){
 if ($(this).parent().hasClass("selected")) {

        e.preventDefault();

        $(this).parent().removeClass("selected");

        return

    }

    else if($(this).parent().hasClass("submenu-ind")){

        e.preventDefault();

    }

    $('.nav-wrap > ul > li').removeClass("selected");

    $(this).parent().addClass("selected");
});

$('.nav-wrap > ul > li > ul').parent().addClass("submenu-ind");

$('.mob-menu-btn').hover(function() {

    if($('nav').hasClass("navActive")){

        $('nav').removeClass("navActive");

        $('nav').slideUp();

    $('.f-nav').show();

        return

    }

    $('nav').slideDown();

  $('.f-nav').hide();

    $('nav').addClass("navActive");

})
Ответ написан
Ваш ответ на вопрос

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

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