Я создал довольно традиционное 3-горизонтальное раскрывающееся меню навигации с JQuery. Однако, вместо того, чтобы третий уровень смещен в сторону второго уровня, он открывает стиль аккордеона. Закрытие третьего уровня задерживается после выключения мыши, чтобы остановить его слишком много.Меню навигации JQuery не работает по назначению
У меня есть только один вопрос, который еще предстоит решить. Когда кто-то открыл третий уровень, а затем возвращается к другой кнопке первого уровня, а затем возвращается к исходной кнопке первого уровня, третий уровень остается открытым.
Вы можете увидеть это в http://jsfiddle.net/BHK3C/6. Наведите указатель мыши на Испанию, а затем на Андалусию откроется третий уровень (Кордова и т. Д.). Если вы затем отправитесь в Марокко и быстро вернетесь в Испанию, сразу откроется третий уровень.
Я пробовал различные вещи, как
$(".nav1").hoverIntent(
function(){//onmouseover
$(this).children("ul").slideDown(1000);
$(".nav2").children("ul").hide();
},
, но ни один из них не работает. Какие-либо предложения?
РЕШЕНИЕ Впоследствии я обнаружил, что существует вариация на моих первоначальных усилий, которые сделали работу:
$(".nav1").hoverIntent(
function(){//onmouseover
$(".nav2").children("ul").hide();
$(this).children("ul").slideDown(1000);
},
.delay (3000) необходимо, чтобы остановить закрытие третьего уровня, как только мышь перемещается в другое место в списке уровня 2. На самом деле я нашел .delay (8000), похоже, о правильной настройке.
hoverIntent действительно полезен для остановки выпадающего меню из-за нежелательного движения. Пока я использую настройки по умолчанию, но я думаю, что он нуждается в небольшой настройке. Кажется, что во второй раз вы возвращаетесь в одно и то же место в списке уровня 2, поэтому уровень 3 довольно неохотно открывается.
Спасибо тем, кто ответил.