Если вы загружаете изображение, вы можете просто скрыть файл loader.gif с помощью CSS (display: none;
), а затем в событии onSubmit формы указать что-то вроде document.getElementById("loaderImageID").style.display = "block";
(или вместо блока, какой бы тип отображения вам не понадобился)) который будет показывать изображение после того, как пользователь нажал кнопку «отправить» / «загрузить» / «что угодно», и когда страница обновится, изображение исчезнет.
(Если я неправильно понял, что вы пытаетесь сделать, я делаюне вижу необходимости в setTimeout ())
РЕДАКТИРОВАТЬ: Хорошо, это обновленная копия кода (которая должна работать именно так, как вам нужно сейчас)
<html>
<head>
<script type="text/javascript">
function uploading()
{
//Show the placeholder div
document.getElementById("loader").style.display = "block";
//Create a new image element with the loader.gif as the source
var loader = document.createElement("img")
loader.setAttribute("src","loader.gif");
//Add the loader image to the loader div
document.getElementById("loader").appendChild(loader);
}
</script>
</head>
<body>
<!-- Placeholder for the loader (style it as you wish)-->
<div style="display: none; height: 50px; width: 50px;" id="loader"></div>
<a href="javascript: uploading();">Test</a>
<form onSubmit="uploading();">
<input type="submit" onClick="uploading();"/>
</form>
</body>
</html>
Я использовал загрузчик с сайта, на который вы ссылались, и столкнулся с той же проблемой для начала.Проблема вызвана тем, что элемент был невидимым, когда он был добавлен в DOM.Впоследствии при показе элемента IE не запускается анимация.( источник )