У меня другая логика и решение.
Установите div, где вы хотите, чтобы изображение GIF отображалось как <div id="loader">
.
Далее установите фоновое изображение в CSS и не устанавливайте ссылку на изображение, как;
background: no-repeat center;
и при выполнении ajax передайте ему фоновое изображение loader.gif
и удалите его после завершения задачи ajax, например;
$.get(
$("#loader").css({ 'background-image':'url(images/loader.gif)' });
'GetPage.aspx',
'url=' + url ,
function (response) {
if (!cancelNavigationFlag)
setIframeHtml(response);
cancelNavigationFlag = false;
$("#loader").css({ 'background-image':'url()' });
},
'html'
);
Я сам не проверял .. Надеюсь, это поможет ..