Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Добавить класс при наведении но не удалять при удалении курсора (https://javascript.ru/forum/jquery/82230-dobavit-klass-pri-navedenii-no-ne-udalyat-pri-udalenii-kursora.html)

mazaxaka 05.04.2021 18:34

Добавить класс при наведении но не удалять при удалении курсора
 
Здравствуйте!
Подскажите пожалуйста, есть сайт и менюшка каталога.
Сейчас подкатегории каталога открываются по клику на элемент:
А мне нужно сделать, чтобы они разворачивались при наведении


За это отвечает код:
$('.vertical-menu .pt-menu-bar').click(function () {
        if($(this).hasClass('open')) {
            $(this).removeClass('open');
        } else {
			$(this).addClass('open');
		}
		var effect = $(this).closest('.pt-menu').find('.menu-effect').val();
        if(effect == "none") {
            $('.vertical-menu .ul-top-items').toggle();
        }

        if(effect == "fade") {
            $('.vertical-menu .ul-top-items').fadeToggle();
        }

        if(effect == "slide") {
            $('.vertical-menu .ul-top-items').slideToggle();
        }
    });


Я пытался написать конструкцию:
$('.vertical-menu .pt-menu-bar').hover(function(){
        $(this).addClass('open');
        $('.vertical-menu .ul-top-items').toggle();
    });


Но тогда возникает мигание менюшки.
При удалении курсора из блока .pt-menu-bar добавленный стиль:
$('.vertical-menu .ul-top-items').toggle();
удаляется.
Подскажите пожалуйста как при наведении добавлять класс и стиль, но не удалять его при удалении курсора из блока. Спасибо

рони 05.04.2021 19:07

Цитата:

Сообщение от mazaxaka
при наведении

mouseenter

ksa 05.04.2021 19:08

Цитата:

Сообщение от mazaxaka (Сообщение 535224)
Я пытался написать конструкцию:
$('.vertical-menu .pt-menu-bar').hover(function(){
        $(this).addClass('open');
        $('.vertical-menu .ul-top-items').toggle();
    });

Используй другие варианты событий "наведения" мышиного курсора на элемент... ;)
https://developer.donnoval.ru/jquery-mouse-over/

mazaxaka 05.04.2021 19:16

Благодарю. Сработала такая конструкция:
$(".vertical-menu .pt-menu-bar").hover(function(){
        $(this).addClass('open');
        $('.vertical-menu .ul-top-items').toggle();
        
    },function(){
       
    });

mazaxaka 05.04.2021 19:17

Благодарю за ответ!

ksa 05.04.2021 19:18

Цитата:

Сообщение от mazaxaka
Сработала такая конструкция:

Это подземный ход на чердак... :-E


Часовой пояс GMT +3, время: 23:31.