В коде, над которым я работаю ниже, на вкладке «Проблемы» при наведении на него курсора открывается следующее меню. Он исчезает, когда вы покидаете вкладку, и это хорошо. Однако мне бы хотелось, чтобы новое подменю оставалось при наведении на него курсора.
.issues — это подменю, и я хочу добавить активный класс при наведении на него курсора и удалить его, если нет. Кажется, эта часть работает хорошо. Что касается части функции, связанной с мышью, я хочу проверить, имеет ли подменю активный класс, если да, то я хочу, чтобы подменю оставалось, что достигается с помощью этой части оператора if !$('.issues') .hasClass('активный'). Однако, похоже, это не работает.
Я думаю, что когда происходит событие наведения курсора мыши, стек вызовов сначала проводит эту проверку, если ($(this).next().prop('nodeName') == 'UL' && !$('. Issues').hasClass('active')) перед добавлением активного класса в подменю.
Как я могу сделать так, чтобы класс добавлялся первым, прежде чем сработает событие mouseout?
PS возможно ли это? jQuery привязывает прослушиватель событий перед другим текстом
$('.issues').hover(function () { $('.issues').addClass('активный'); }, функция () { $('.issues').removeClass('активный'); }); $('nav > ul > li').hover(function () { if ($(this).next().prop('nodeName') == 'UL') { $(this).next().slideDown('медленно'); }}, функция () { // console.log($(this).next().prop('nodeName') == 'UL' && // !$('.issues').hasClass('active')); if ($(this).next().prop('nodeName') == 'UL' && !$('.issues').hasClass('активный')) { $('.issues').slideUp('вверх'); }} ); .issues { дисплей: нет; положение: статичное; маржа-верх: 0; отступ слева: 0; [*]Проблемы
- X
- Да
- З
Мобильная версия