Я хочу создать выпадающее меню, используя jquery, но оно закрывается, даже если это не так.
У меня есть элемент, который подписан на событие mouseenter, мышь входит в элемент, выпадающий список, запускаетсявсе вроде бы нормально.Я иду к списку элементов, который является элементом списка с некоторым содержанием в нем.В первый раз, когда я изменяю два элемента, все работает, как ожидается.Поэтому я оставляю элементы, вызывается событие mouseout, и в течение 1000 мс список больше не виден.Во второй раз, когда я открываю «выпадающий список», кажется, что все в порядке, но если я перехожу список, он исчезает, как и должен, когда я покидаю элементы.В некотором смысле это логично, потому что каждый из двух элементов (кнопка и список) подписан на два события: mouseenter и mouseleave.Mouseenter предоставляет clearInterval, mouseout предоставляет setInterval.Данные хранятся в переменной с именем tTimer, значение которой по умолчанию равно 0. Я действительно не знаю, почему это происходит.Вот фрагмент из моего кода:
var tTimer = 0;
var rmItemList = function(){itemList.remove(); clearTimeout(tTimer); }
$(this).bind("mouseleave",function(){ tTimer = window.setTimeout(rmItemList, 1000); });
itemList.bind("mouseleave",function(){ tTimer = window.setTimeout(rmItemList, 1000); });
$(this).bind("mouseenter",function(){ window.clearTimeout(tTimer); itemList.appendTo("body"); });
itemList.bind("mouseenter",function(){ window.clearTimeout(tTimer); });