@maxprof
Студент

Как коректно обработать событие click?

Здравствуйте, возникла проблема с обработкой события click.
$("li.mainLi").click(function(){
		$("ul.dropdown-inside").css("display","none");
		}, function(){
			$("ul.dropdown-inside").show("slow");
		});

При нажатии на пункт открывается список. Но если я сразу нажму ещё раз, то список закроется и сразу откроется. Как сделать, что-бы по второму клику он закрывался? Почему сначала работает второе условия?) И можно ли сделать так, что-бы он сам закрывался через например 2 секунды если курсор на него не наведен?? Заранее спасибо!
  • Вопрос задан
  • 118 просмотров
Решения вопроса 2
Symphony
@Symphony Куратор тега JavaScript
$("li.mainLi").on('click',function(){
    $("ul.dropdown-inside").slideToggle();
    $("ul.dropdown-inside").on('mouseout',function(){
        $("ul.dropdown-inside").delay(2000).slideUp();
    });
});
Ответ написан
Комментировать
Как то так это будет. Для первого случая все проще:
$("li.mainLi").click(function(){
	$("ul.dropdown-inside").toggle();
});

И для второго:
$("ul.dropdown-inside").hover(function(),function(){
	setTimeout(function(){
		$("ul.dropdown-inside").hide();
	},2000);
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы