seems to work ok for me, at least on chrome. show is a "disable display:hidden", so in some browsers it might be an issue.  I am fine with it happening before. I guess my only point is that it's slightly easier to read your intent, when it's a fadeIn(), like the fadeOut(), later in hide(). I am fine with show() coming first, or even leaving this part out. I can also separate the grunt stuff. I was playing around with both ideas at the same time, and probably should have kept them separate, anyway.