У меня есть код, который выполняется при вызове функции theBestFunction:
if ( $(objName).css('display') == 'none' ) {
$(objName).animate({height: 'show'}, 300);
document.getElementById('mobile_menu_bg_inv').style.display = "none";
} else {
$(objName).animate({height: 'hide'}, 300);
document.getElementById('mobile_menu_bg_inv').style.display = "block";
}
Вроде бы, всё прекрасно. Но строка кода "document.getElement..." выполняется раньше, чем $(objName).animate(). Можете объяснить - почему и как это исправить? PS: извиняюсь, если это глупый вопрос, просто недавно начал что-либо вообще делать с помощью JS :S
Не раньше - сразу после входа в $(objName).animate, но для глаза это параллельное выполнение. Если надо после - спользуте коллбек функцию.
let objName = $('.obj-name');
if (objName.css('display') == 'none' ) {
objName.animate({height: 'show'}, 300, function() {
document.getElementById('mobile_menu_bg_inv').style.display = "none";
});
} else {
objName.animate({height: 'hide'}, 600, function() {
document.getElementById('mobile_menu_bg_inv').style.display = "block";
});
}
#mobile_menu_bg_inv{display:none}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="obj-name">qwe</div>
<div id="mobile_menu_bg_inv">rty</div>
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости