Поместите дополнительный div (с width: 100%; height: 100%
) в #loader
: <div id="loader"><div class="image"></div></div>
.
Тогда вместо $("#loader").append(this);
вам нужно что-то вроде $("#loader div.image").css("background","url(images/headshot.jpg) no-repeat 0 0");
. Таким образом, элемент img
останется невидимым за пределами дерева документа, но фон - как мы надеемся, кэшируется, по крайней мере, большинство браузеров - будет отображаться в вашем div.
Затем, наконец, примените эффекты к своему внутреннему div с помощью .fadeIn()
.
Сам не пробовал, но должно быть что-то вроде этого.