Задать вопрос
koteich
@koteich

Не срабатывает .delay в JavaScript?

Здравствуйте :3
В общем, мне нужен такой результат: при клике на "a.linkInMenu.Shop" должна срабатывать анимация flipOutX и выполняться все последующие действия, но эти действия должны выполняться с задержкой. В коде все работает, кроме самого delay. Может кто помочь разобраться почему не срабатывает delay?

$("a.linkInMenu.Shop").click(function () {
        $("a.linkInMenu.Shop").addClass("animated flipOutX");
        
        
        //скрытие самого меню при клике
        showed = false;
        $("a.enter").delay(900).removeClass("enterON");
        $("div.startPageGrad").delay(900).removeClass("startPageGrad1");
        $("font.fEnter").delay(900).css('font-size', '0px');
        $("div.enterMenu").delay(900).removeClass("animated bounceInDown");
        $("div.enterMenu").delay(900).addClass("animated bounceOutUp");
        $("div.enterMenu").delay(900).css('top', '-250px');
        $("div.enterMenu").delay(900).animate({
            opacity: 0,
            top: "50px",
            display: "none"
        }, 0, function() {
            // выполнил
        });
    });
  • Вопрос задан
  • 2645 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
koteich
@koteich Автор вопроса
Нашел решение! Спасибо за внимание!

Использовал:
setTimeout(function() {
    //действия
}, 900);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Yago
Javascript - асинхронный язык. Все указанные действия запускаются в один момент. Свяжите все события через точечную нотацию в нужной последовательности для необходимого эффекта. Например:
$('#someel').show(900).delay(200).hide(900).slideDown(200).delay(300).slideUp(400);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы