slideToggle
is async so your function can continue before the element is hidden/shown.
In this case you can use the complete
callback fired when the animation is complete.
Code:
mobileMenuBtn.click(function(){
mobileMenu.slideToggle(200, function() {
if(mobileMenu.is(":visible")){
$("#alt-menu .menu-item:last-child a").text("Close");
}
else{
$("#alt-menu .menu-item:last-child a").text("Menu");
}
});
});