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

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

Всем привет.

 

У меня на сайте стоит меню с шаблона 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
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...