В приведенной ниже функции, я хотел бы, чтобы последнее событие $('.bg-contact').addClass('activated');
начиналось, когда предыдущее событие было полностью завершено. На данный момент все происходит сразу. Как я могу убедиться, что .bg-contact
получает класс activated
, добавленный только после того, как все выше этого уже произошло?Запустить событие только в том случае, если предыдущий закончен?
function contactFadeIn() {
$('#contact').addClass('activated');
$('#contact-info').removeClass('fadeOutUp').addClass('animated fadeInUp');
$('.bg-contact').addClass('activated');
}
Редактировать
function contactFadeIn() {
$('#contact').addClass('activated');
$('#contact-info').removeClass('fadeOutUp').addClass('animated fadeInUp').on('transitionend webkitTransitionEnd oTransitionEnd', function() {
$('.bg-contact').addClass('activated');
});;
}
добавление или удаление класса является как можно ближе к мгновенным, как вы собираетесь получить - то есть, нет обратного вызова для их. JQuery анимации, как правило, цепочки, так что действие может быть выполнено в конце анимации. – Jamiec
@Jamiec: Переходы CSS, вероятно, здесь. –
У вас есть анимация с этими классами? Если да, обновите его с полной продолжительностью анимации. Если нет, я не понимаю, что вы подразумеваете под полным завершением. Он будет работать по строкам, выполняя каждый класс add/remove. – Charly