Показать сообщение отдельно
  #1 (permalink)  
Старый 11.11.2008, 13:15
AriaL
 
Сообщений: n/a

Проблемы с gif-анимацией в IE 6.0 и 7.0
Доброе время суток!

Есть необходимость отображать gif-файл, пока идет загрузка файла. Нашел в проекте работающий (и под IE тоже!) код и попытался приспособить для своих нужд. Мой код не работает под IE (вместо анимации отображается только первый кадр из файла).

Исходный код:
function save_document() {
     displayBusy();
     getElement("newOrder").submit();            
}

<div id="busy" style="display:none;">
    <p><img src="/b2b_sng/mimes/images/busy.gif" alt="Подождите, пока загрузятся данные"/></p>
    <p>Подождите, пока загрузятся данные</p>
</div>
    
<div id="page">
  <form id="newOrder" method="post" action="/b2b_sng/b2b/createdocument.do">   
...
    <div id="nodoc-default">
        <p><span>Выберите вид операции:</span></p>
        <input type="hidden" name="requestSource" value="default"/>
        <p class="p1"><span><input type="radio" id="orderType_1" name="orderType"  checked="checked"  value="q_ZINC" /> Заявка на отгрузку</span></p>
     </div>
    <div id="buttons">
            <ul class="buttons-1">
                <li><a href="#" onclick="save_document();"  >Создать</a></li>
            </ul>
    </div>
  </form>
</div>


мой код:
function beforeUpload(){
	if(document.uploadForm["chosenFile"].value == ""){
		alert("Файл не выбран!");
	}else{
		displayBusy();
		getElement("uploadForm").submit();
	}
}

<div id="busy" style="display:none;margin-top:5ex;">
  <p><img src="/b2b_sng/mimes/images/busy.gif" alt="Подождите, пока загрузятся данные"/></p>
  <p style="font-size:100%">Подождите, пока загрузятся данные</p>
</div>

<div id="page">
  <form id="uploadForm" name="uploadForm" action="/b2b_sng/b2b/z_uploadfile.do" enctype="multipart/form-data" method="POST">
    Файл:<br />
    <input type="hidden" id="docGuid" name="docGuid" value="">
    <input type="file" name="chosenFile" class="submitDoc" /><br /><br />
  </form>
  <div id="buttons">
    <ul class="buttons-1">
      <li><a onclick="beforeUpload();" href="#"  >Загрузка</a></li>
      <li><a href="#" onclick="self.close();return;" title="Закрыть" >Закрыть</a></li>
    </ul>
  </div>
</div>


Функция displayBusy():
function displayBusy(hideCont) {
    if (!hideCont) {
        hideCont = "page";
    }
    var hideScreen = getElement(hideCont);
    var dispScreen = getElement("busy");   
    if (hideScreen) {
          hideScreen.style.display = "none";
          dispScreen.style.display = "";
    }	
}


Исходный код выполняется внутри одного из фреймов, мой код - на отдельной страничке.
Ответить с цитированием