Итак, вы хотите затемнить изображение и затемнить другое, которое фактически «под» первым, верно?
Ваш код ожидает исчезновения первого изображения, а затем исчезает в другом.
Я предлагаю вам выполнить оба действия одновременно, чтобы, когда первое изображение начало исчезать, второе уже начало появляться:
$('#backgroundDiv img').fadeOut(550,'linear');
$('#apresentacaoBgImage img').attr({'src':img_fs}).fadeIn(250,'linear');
РЕДАКТИРОВАТЬ:
Если у вас есть только одно изображение, это буквально невозможно. Поэтому мы должны создать копию этого изображения и сделать то, что вам нужно, с этими двумя, потому что в какой-то момент (когда первое изображение начинает исчезать, а второе начинает появляться) нам определенно нужны два изображения. Вот что я сделал:
Обратите внимание, что div #backgroundDiv
должен содержать только одно изображение, поскольку он используется как position: relative
для позиционирования второго изображения в , первого перед всеми причудливыми вещами.
Рабочий пример здесь.
HTML:
<div id="backgroundDiv" style="position: relative;">
<img src="http://trollface.sparxified.com/Trollface_HD.jpg" width="200px" height="200px" />
</div>
JS:
var img_fs = 'http://driph.com/words/wp-content/uploads/2008/04/e.gif';
$("#backgroundDiv img").clone().appendTo("#backgroundDiv").hide().attr({ src: img_fs }).css({ position: 'absolute', top: 0, left: 0 });
$("#backgroundDiv img:first").fadeOut(550,'linear');
$("#backgroundDiv img:last").fadeIn(550,'linear');
PS: я изменил продолжительность обоих fadeIn()
и fadeOut()
, чтобы они были одинаковыми, поскольку это выглядело странно с разными.