Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2014, 22:56
Аспирант
Отправить личное сообщение для Hurray Посмотреть профиль Найти все сообщения от Hurray
 
Регистрация: 22.02.2012
Сообщений: 70

Разворачивающееся меню
Меню должно разворачиваться через полсекунды после наведения на него курсора, если курсор с него не убрали. Использую setTimeout. Если курсор убрали с меню, то делаем clearTimeout. Почему при отведении курсора Таймер не уничтожается? меню разворачивается, даже если курсор отвели.
$(".h_menu li").mouseenter(function(){
		var that = this;
		glt = setTimeout(function() { 
			var num=$(that).index();
			if (num>0) {
				$(".hpop_item").stop();
				$(".hpop").stop();

				num--;
				var $item=$(".hpop_item").eq(num);
				var he=$item.height();

				$(".hpop_item").stop(true,true).fadeOut(100);
				$(".hpop").stop().animate({height:he},300);
				$item.stop().fadeIn(300);
			}
			else {
				if($(".hpop_item").is(":visible")) {
					hpopclose();
				}
			}		
}, 500)
	});
// если убрать курсор с пункта меню, таймер уничтожается
  $(".h_menu li").onmouseout = function() {
    clearTimeout(glt); 
  }
Ответить с цитированием