display:none означает, что элемент не отображается как часть DOM, поэтому он не загружается, пока свойство отображения не изменится на что-то еще.
visibility:hidden загружает элемент, но не показывает его.
Почему jQuery использует display:none для своих функций show/hide вместо переключения между visibility:hidden и visibility:visible?