Я предлагаю не использовать fadeIn
анимацию после загрузки изображений из-за снижения производительности, которое оно приносит. Обычно хорошей идеей является fadeIn
содержание, а затем загрузка изображений, чтобы обеспечить плавную анимацию для максимально возможного количества пользователей.
Сказав, что, конечно, вы можете достичь своей первоначальной цели, если вы хотите придерживаться ее:
Используйте пустое изображение 1x1 в качестве атрибута image src
и сохраните реальный URL в title
.
<div>
<div id="slideshow">
<img src="blank.gif" title="images/img1.jpg" />
<img src="blank.gif" title="images/img2.jpg" />
<img src="blank.gif" title="images/img3.jpg" />
</div>
<p>This is some sample content</p>
</div>
И твой код становится:
$('#ajax_loader').hide().load('page.html', function(){
var c = 0;
var images = $("#slideshow img");
images.load(function(){
if (++c == images.length) {
$('#ajax_loader').fadeIn(1000);
}
});
images.each(function(){
this.src = this.title;
});
});