Действительно с интервалом вышла заминка, т.к. интервал в том виде, в котором он есть, будет рекурсивно создавать объект интервала и тем самым будет много объектов интервала, что, вообщем, весьма неправильно.
Переписал:
function Start_animation() {
var change = false;
var index_img = 0;
var class_this = this;
this.images = function() { return new Array ('header', 'header_2', 'header_3'); }
this.animate = function() {
change = (change) ? (false) : (true);
$('#header .header_img img').each(function (index, el) {
if ($(el).closest('.header_img').css('opacity') == 0) $(el).attr('src', '/skin/img/BG/' + get_next() + '.png');
});
$('#header #first_h').animate({opacity: (change) ? (0) : (1)}, 1500);
$('#header #second_h').animate({opacity: (change) ? (1) : (0)}, 1500);
}
var get_next = function() {
index_img++;
index_img = ((index_img + 1) <= class_this.images().length) ? (index_img) : (0);
return class_this.images()[index_img];
}
}
var Top_animation = new Start_animation();
setInterval(Top_animation.animate, 5000);
Везде все норм. IE каждые 5 сек (+ видимо задержка 1.5 сек на анимацию) меняет картинку (src), но анимации замены (animate opacity) не происходит. Попробую перевести картинки из png в jpg, возможно дело в этом.