Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   окошко ожидания (https://javascript.ru/forum/misc/43787-okoshko-ozhidaniya.html)

him 20.12.2013 16:04

окошко ожидания
 
ситуация такая:
пользователь отправляет файл на сервер,
которой в течении 5-10 секунд обрабатывается на сервере.
(сложный алгоритм :) )

в этом момент, складывается впечатлении что браузер завис. что бы не травмировать психику пользователя, я хочу на время обработки пользователю по центу экрана показать маленькое окошко, в котором или крутился кружочек, или бежала полоска. во общем, что то, что показывалось бы, давая понять что процесс идет, все грузится, надо подождать...
ну и соответственно, после завершения задачи на сервере, это окошечко пропадало.

мне кажется это задача стандартная, пните в какую сторону смотреть..

ksa 20.12.2013 16:33

Цитата:

Сообщение от him
пните в какую сторону смотреть..

- создать окно
- используя setTimeout(), начать отправку файла
- при получении ответа убрать то окно

ksa 20.12.2013 16:34

Или вот...
http://learn.javascript.ru/xhr-onprogress

him 20.12.2013 16:52

хм.. подумав я решил все упростить.

перед отправкой вставить анимашку в див, по завершению, убрать ее из дива.

<div id="wait"></div>

onclick() {
var img = document.createElement("IMG");
img.src = "wait.gif";
document.getElementById('wait').appendChild(img);
// здесь долгая функция
а как здесь убрать эту анимашку?
}

him 20.12.2013 17:11

document.getElementById('wait').removeChild(img);

так делать можно? так правильно?

him 20.12.2013 19:49

Событие нажатия кнопки submit в форме можно перехватить так:
$('#myform').submit(function(){}
После этого выполняетс php скрипт action form

А как отловить событие прекращения выполнения скрипта ?

Я хочу перед выполненим скрипта вывести анимашку, а после выполнения убрать анимашку.

Shelimov 22.12.2013 20:52

Делайте отправку POST запроса через Ajax, а потом ловите запрос через onreadystatechange.

А, у вас загрузка файла. Гляньте тогда здесь:
http://javascript.ru/blog/gordon-fre...fajl-javascrip


Часовой пояс GMT +3, время: 23:24.