Перейти к публикации

Рекомендованные сообщения

Всем привет.

 

У меня на сайте стоит меню с шаблона Default

Код меню следующий

$(document).ready(function(){
		$('#topmenu li.sublnk').hover(
		function() {
			$(this).addClass("selected");
			$(this).find('ul').stop(true, true);
			$(this).find('ul').show('fast');
		},
		function() {
			$(this).find('ul').hide('fast');
			$(this).removeClass("selected");
		}
	);
});

Подскажите как реализовать небольшую задержку, чтоб при наведении и когда увожу мышку была задержка примерно в 200 милисекунд

 

Заранее признателен за подсказку.

Ссылка на сообщение
Поделиться на других сайтах
function() {
	setTimeout(function() {
		$(this).find('ul').hide('fast');
		$(this).removeClass("selected");
	}, 200);
}

вроде так. 200 - время в мсек
 

Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, alex32 сказал:

function() {
	setTimeout(function() {
		$(this).find('ul').hide('fast');
		$(this).removeClass("selected");
	}, 200);
}

вроде так. 200 - время в мсек
 

Что-то не то

Меню раскрывается, а закрываться не хочет вообще

Делал так

$(document).ready(function(){
		$('#topmenu li.sublnk').hover(
		function() {
			$(this).addClass("selected");
			$(this).find('ul').stop(true, true);
			$(this).find('ul').show('fast');
		},
		function() {
	setTimeout(function() {
		$(this).find('ul').hide('fast');
		$(this).removeClass("selected");
	}, 200);
		}
	);
});

 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, radrigo сказал:

и когда увожу мышку была задержка примерно в 200 милисекунд

$(document).ready(function(){
		$('#topmenu li.sublnk').hover(
		function() {
			$(this).addClass("selected");
			$(this).find('ul').stop(true, true);
			$(this).find('ul').show('fast');
		},
		function() {
			$(this).find('ul').hide(200);
			$(this).removeClass("selected");
		}
	);
});

 

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, odys сказал:

$(document).ready(function(){
		$('#topmenu li.sublnk').hover(
		function() {
			$(this).addClass("selected");
			$(this).find('ul').stop(true, true);
			$(this).find('ul').show('fast');
		},
		function() {
			$(this).find('ul').hide(200);
			$(this).removeClass("selected");
		}
	);
});

 

К сожалению не то

изменяя значение .hide() я задаю время анимации при закрытии меню, а .show() я как понимаю это время анимации при раскрытии меню.

Мне же надо задать время перед раскрытием, и перед закрытием меню.

Ссылка на сообщение
Поделиться на других сайтах

Вот так получилось, может кому понадобится

$(document).ready(function(){
        $('#topmenu li.sublnk').hover(
        function() {
            $(this).addClass("selected");
            $(this).find('ul').stop(true, true);
            $(this).find('ul').delay(200).show('fast');
        },
        
        function() {
            $(this).find('ul').delay(200).hide('fast');
            $(this).removeClass("selected");
        }
    );
}); 

 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, radrigo сказал:

Вот так получилось, может кому понадобится

чуть-чуть не успел :)

хотел тебе ссылку отправить: http://jquery.page2page.ru/index.php5/%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B8%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%B5%D0%B9%D1%88%D0%B8%D1%85_%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B9

пока с работы до дома доехал, уже сам ответ нашёл

Изменено пользователем odys
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...