Друзья,
пытаюсь сделать меню с бесконечной вложенностью и всё бы хорошо,
но понадобилось прикрутить таймер, чтобы меню не закрывалось сразу после покидания мышки пределов UL LI. И тут началось.
Код:
var openedmenu = 0;
function hideUlLi() {
openedmenu.fadeOut();
}
function menu(){
var timerId;
var timerId1;
$("div#nav ul li").hover(
function() {
window.clearTimeout(document.getElementById("timerId").value);
$(this).find("ul:first").show();
},
function() {
openedmenu = jQuery(this).find("ul:first");
timerId = window.setTimeout(hideUlLi,500);
document.getElementById("timerId").value = timerId;
});
};
$(document).ready(function() {
menu();
});
Если вывести мышку за пределы открытых в этот момент ul, то по таймеру закрывается всё меню (как и должно быть),
но если снова навести мышь на тот же пункт, то открываются все вложенные пункты, которые были открыты при первом наведении.
Из этого я сделал вывод что необходимо в function hideUlLi() выполнить поиск всех потомков данного il (из которого выпадает следующее меню) и выполнить для каждого найденного ul - .hide();
Помогите дописать функцию function hideUlLi() чтобы она закрывала все подменю.
Ну или предложите другой вариант.