задержка выпадания меню при наведении 
		
		
		
		Добрый день. 
	Всю голову сломал. Подскажите пожалуйста как сделать выпадание меню с задержкой. Скрипт готов без задержки и работает. А как добавить задержку голову сломал. 
this.setHandlersNotMobile = function(){
		menu.on('mouseenter.mainMenu', '.catalog-menu-lvl0-item', function(){
			var _ = $(this);
			var submenu = _.children('.submenu-wrap');
			if ( _.hasClass('opened') ){
				submenu.velocity('stop').velocity('reverse');
				//$('body').addClass('darken');
				return false;
			}
			submenu.addClass('opened'),
			setTimeout(function(){
				if (typeof initHCarousel === 'function') submenu.find('.scroll-slider-wrap').each(initHCarousel);
			}, 50);
		}).on('mouseleave.mainMenu', '.catalog-menu-lvl0-item', function(){
			var _ = $(this);
			var submenu = _.children('.submenu-wrap');
			submenu.removeClass('opened');
		}).on('hitstoggle', function(e, data){
			if ( data.type === 'show' && typeof initHCarousel === 'function' ){
				data.wrap.each(initHCarousel);
			}
		});
	}
 | 
	
		
 Цитата: 
	
  | 
	
		
 Это немного не то. В выпадающем меню есть еще блок раскрывающийся с кнопки. Это и есть задержка по этому блоку. А вот по меню нет. 
	 | 
	
		
 Цитата: 
	
 
setTimeout(function() {
А сюда свою функцию, если произошло наведение на кнопку меню
}, 1000);
 :) | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 P.S. я слегка иначе всё пишу, так что сложновато понять чужой код :)  | 
	
		
 делал на всю функцию))) Не помогает))) 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 А так мое видение было таким 
this.setHandlersNotMobile = function(){
		menu.on('mouseenter.mainMenu', '.catalog-menu-lvl0-item', function(){
			var _ = $(this);
			setTimeout(function(){
			var submenu = _.children('.submenu-wrap');
			if ( _.hasClass('opened') ){
				submenu.velocity('stop').velocity('reverse');
				//$('body').addClass('darken');
				return;
			}
			submenu.addClass('opened')
			}, 500);
			setTimeout(function(){
				if (typeof initHCarousel === 'function') submenu.find('.scroll-slider-wrap').each(initHCarousel);
			}, 50);
		}).on('mouseleave.mainMenu', '.catalog-menu-lvl0-item', function(){
			var _ = $(this);
			var submenu = _.children('.submenu-wrap');
			submenu.removeClass('opened');
		}).on('hitstoggle', function(e, data){
			if ( data.type === 'show' && typeof initHCarousel === 'function' ){
				data.wrap.each(initHCarousel);
			}
		});
	}
При таком исполнении резко проводя по меню оно появлятся но не убирается. Нужно навести на какое то время что бы пропало.  | 
	
		
 Цитата: 
	
  | 
	
		
 Шефу клик не нужен. Да и не очень удобно все это будет 
	 | 
	
		
 Цитата: 
	
 Как раз и мне будет опытом :)  | 
	
		
 Цитата: 
	
 
$(".menu").on("mouseover", function() {
	var timer = setTimeout(function() {
		$(".drop").slideDown("slow");
	}, 500);
	$(".menu").on("mouseout", function() {
		clearTimeout(timer);
	});
});
$(".drop ul").on("mouseleave", function() {
    $(".drop").slideUp("slow");
});
Надеюсь разберешься, у меня всё хорошо работает) https://jsfiddle.net/5tr7mcm0/4/  | 
| Часовой пояс GMT +3, время: 13:16. |