@DeniSidorenko

Как заблокировать элемент до его появление?

Привет есть скрипт которая отвечает за вывод попап окно. Появляется она при клике на блок, и анимация идет 1s . Так же сделал что при клике на пустое пространство она исчезает. Все хорошо работает только если вот пользователь нажмет случайно два раза по блоку либо один раз по блоку и в течение пока она появляется нажмет еще один раз то блок появиться и сразу исчезает. Мне посоветовали "Можно блокировать скрипт пока она не появиться до конца".
Вопрос как это сделать

Скрипт появление
$('.auth-login__yes').on('click',function(){
	$('.login-user').show("slide", { direction: "left" }, 1000);
});

Исчезает
$(document).mouseup(function (e){ // событие клика по веб-документу
		var div = $(".login-user"); // тут указываем ID элемента
		if (!div.is(e.target) // если клик был не по нашему блоку
		    && div.has(e.target).length === 0) { // и не по его дочерним элементам
			div.hide("slide", {direction: "left"} , 1000);
		}
	});

/spoiler>
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562
I'm cool!
var popupRendering = false;
$('.auth-login__yes').on('click',function(){
  if (popupRendering) return; // если происходит rendering то выходим
  popupRendering = true; // начинаем рендерить окно
  $('.login-user').show("slide", { direction: "left" }, 1000, function(){
      popupRendering = false; // рендеринг закончен
  });
});
Ответ написан
Ваш ответ на вопрос

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

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