Недостатком такого подхода является то, что для нового изображения будет период загрузки, и из-за этого анимация может быть немного странной. Может быть полезным иметь две части в этом файле, где путь возвращается, если значение $ _GET равно одной вещи, и изображение возвращается, если это значение $ _GET не установлено или равно чему-то другому. Таким образом, вы можете предварительно загрузить серию изображений, и между изображениями будет плавная анимация.
Сказав это, мне кажется, что-то подобное должно работать.
$(document).ready(function(){
function swapImage(){
var time = new Date();
$('#image').fadeOut(1000)
.attr('src', 'http://mydomain.com/images/rotate.php?'+time.getTime())
.fadeIn(1000);
}
var imageInterval = setInterval('swapImage()',10*1000);
});
Время заставляет браузер думать, что оно получает новое изображение.
spacer.gif
Чтобы сделать это с черной проставкой, я бы порекомендовал обернуть ваше изображение в div и присвоить div цвет фона # 000 в соответствии с проставкой:
#image-wrap{background-color:#000;}
Это сделало бы так, что изображение фактически стало блеклым, а не блекло к вашему текущему цвету фона, изменилось на черный и снова исчезло. Js было бы очень похоже на выше:
function swapImage(){
var time = new Date();
$('#image').fadeOut(1000)
.attr('src', 'http://mydomain.com/spacer.gif')
.attr('src', 'http://mydomain.com/images/rotate.php?'+time.getTime())
.fadeIn(1000);
}
var imageInterval = setInterval('swapImage()',10*1000);
Хранение времени там, вероятно, не является необходимым, но, эй, это еще одна надежная защита от браузера, кэширующего "изображение".