Лучший способ сделать это - просто установить для дисплея значение no на объекте, чтобы DOM не отображал его при загрузке.
<div id="testdiv" style="display:none">Hello</div>
...
...
...
$(document).ready(function () {
$('#testdiv').fadeIn(1000);
});
У меня есть много кода в некоторых из моих старых проектов, которые выглядят так, хотя и выполняют то же самое:
<div id="testdiv" style="visibility:hidden">Hello</div>
...
...
...
$(document).ready(function () {
$('#testdiv').hide().css('visibility', 'visible');
});
Таким образом, изображение скрывается с помощью HTML, затем JQuery скрывает его (поэтому он скрыт двумя способами на этом этапе), затем HTML устанавливается на видимое, поэтому его просто JQuery удерживает невидимым в DOM на этом этапе тогда я использую это как обычно.