Нужно после окончания 2ух анимаций, сменить значение переменной.
old_elem.animate({
top: curr_elem.css('top'),
left: curr_elem.css('left')
}, 100, function(){//действия после анимации
});
curr_elem.animate({
top: old_elem.css('top'),
left: old_elem.css('left')
}, 100, function(){//действия после анимации
});
Как вариант - через Promise:
$(() => {
$('input').on('click', function(e){
Promise.all([
new Promise((res, rej) => $('#one').animate({fontSize: '20pt'}, 200, _ => res())),
new Promise((res, rej) => $('#two').animate({fontSize: '30pt'}, 300, _ => res()))
]).then(_ => $(this).val('Done!'))
});
});
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<div id='one'>One</div>
<div id='two'>Two</div>
<input type='button' value='Run' />
Сборка персонального компьютера от Artline: умный выбор для современных пользователей