Я сталкивался с этим раньше.Это происходит потому, что, когда вы уходите со страницы, браузер начинает выгружать все ресурсы.Это включает в себя изображение .gif и останавливает анимацию.
Я обнаружил, что использование JavaScript для анимации по сравнению с использованием анимированного .gif продлит анимацию.Просто сделайте спрайт из разных фреймов и сделайте что-то вроде этого.В этом примере ваши спрайт-кадры будут идти слева направо:
var numFrames = 10, frameWidth = 50, frameDuration = 200, currentFrame = 0;
function animate() {
var position = frameWidth * currentFrame * -1;
$('#sprite-element').css('background-position', position + 'px 0px');
if(currentFrame == numFrames - 1)
currentFrame = 0;
else
currentFrame++;
setTimeout(animate, frameDuration);
}