У меня есть меню, которое при зависании отображает субнав текущего зависающего элемента, добавляя .stick
в подменю и удаляя его на мышеловке. Если вы не нависаете над другим элементом меню, я хочу, чтобы последний зависший пункт меню оставался открытым еще на 2 секунды перед тем, как скрыться.Сделать последнее зависшее меню остается открытым
Вот что у меня есть. Я знаю, что вызываемый в контейнере mouseleave()
не будет работать, так как он находится внутри обработчика. Функция зависания ul#main-nav > li
, но я оставил его, чтобы показать вам, где я последний раз остановился.
$('ul#main-nav > li').hover(function() {
var $this = $(this);
clearTimeout(window.menustick);
$this.find('ul.submenu').addClass('stick');
}, function() {
var $this = $(this);
if($this.siblings().hover()) {
$this.find('ul.submenu').removeClass('stick');
} else if ($('#main-nav').mouseleave()) {
window.menustick = setTimeout(function(){
$this.find('ul.submenu').removeClass('stick');
}, 2000);
}
});
Заранее спасибо!
Пожалуйста предоставить [jsfiddle example] (http: //jsfiddle.n et) – Dom
Привет @Dom, [Вот скрипка JS.] (http://jsfiddle.net/mikemiketm09/3F7bJ/) Спасибо! – Mikel
Я обновил JS Fiddle, проверьте это http://jsfiddle.net/3F7bJ/1/ –