Use a .animate()callback, for example:
$('.delete-item').live('click', function(){
$(this).parent().parent().animate({backgroundColor: '#ff0000'}, 'slow', function() {
$(this).empty().remove();
});
});
The callback will not be executed until the animation is completed, your current method finishes the animation, but only performs one frame before the element is removed from the DOM, this will allow the entire animation to be executed and delete it.
source
share