Ответ @Loktar правильный, но вы можете опустить условие
function anim() {
var ane = false;
$('#element').animate({left:'100px'}, 5000, function(){
ane = true;
// the animation is already finished
// if(!$(this).is('animated')){
// alert(ane);
//}
alert(ane);
});
}
, потому что функция вызывается, когда анимация фактически завершена.
Использование последней версии jQuery(> = 1.8) вы можете проверить, действительно ли анимация завершена, используя опцию done :
function anim() {
var ane = false;
$('#element').animate({width:'100px'},
{duration: 5000,
done: function () {alert("done")}
});
}