Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2011, 15:26
Новичок на форуме
Отправить личное сообщение для sholkyman Посмотреть профиль Найти все сообщения от sholkyman
 
Регистрация: 10.06.2011
Сообщений: 1

.hide() для всех потомков и их потомков
Друзья,
пытаюсь сделать меню с бесконечной вложенностью и всё бы хорошо,
но понадобилось прикрутить таймер, чтобы меню не закрывалось сразу после покидания мышки пределов 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() чтобы она закрывала все подменю.
Ну или предложите другой вариант.
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2011, 12:45
Профессор
Отправить личное сообщение для Telnet Посмотреть профиль Найти все сообщения от Telnet
 
Регистрация: 21.02.2011
Сообщений: 160

$("div#nav ul li ").children()
Выделить все элементы потомки можно так, но лучше генерируй id для каждого меню, и тогда будет примерно так.
$("#someID ").children()
пример можно посмотреть тут
http://jquery.page2page.ru/index.php...82%D0%BE%D0%B2
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозаполнение почтовых адресов для всех стран. dopelher Оффтопик 3 09.06.2011 08:00
Отображение всех значений точек для jquery flot Mutagena jQuery 0 29.04.2011 13:42
Как в общем меню для всех страниц поменять класс определенного пункта в зависимости о phenom Элементы интерфейса 2 08.04.2011 11:09
alert для всех браузеров кроме IE mousesport Javascript под браузер 6 06.04.2011 16:45
Пошаговый вывод скрипта для IE всех версий. Zidky Элементы интерфейса 10 17.06.2009 18:27