It seems most of the jquery fadein/out and animate functions are based on the initial element having display:none as opposed to visibility:hidden.
What if I want the
You may also try something like this (Demo) as fadeIn
fadeIn
$('div').css({opacity: 0, visibility: "visible"}).animate({opacity: 1}, 'slow');
Sure, start with visibility: hidden then do:
visibility: hidden
$('.your-element').css('visibility','visible').hide().fadeIn();
Borrowed from a very similar question.