use visibility instead of jquery.fadeIn/fadeOut

fix #29