| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Функция по времени выполняемая |
| Автор: Serious2008 26.1.2012, 19:38 | ||
| Здравствуйте. Помогите реализовать или дайте ссылок куда читать уже надоело гуглить. Мне нужно чтобы во время начала отправки формы вылазило маленькое окошко или что-то подобное, с одной надписью. И это окошко либо 1.5 минуты весело, либо уже после успешной отправки формы(форма может отправить не успешно и вернуть 504) убрать это окошко. В коде я пометил месте где надо вызывать и где надо прерывать. Но я блин не могу понять во первых как это окошко выводить. А во вторых как его выводить на время.
|
| Автор: Krotlev 26.1.2012, 22:15 | ||||
|
| Автор: Serious2008 27.1.2012, 01:18 |
| Krotlev, что-то не появляется ничего. |
| Автор: Fynivx 27.1.2012, 05:46 |
| Не потому ли, что функция передачи всегда возвращает false? --- А еще loadingTimeout, имхо, не там объявлен, и почему в startLoading он = null - я вообще хз. |
| Автор: ksnk 27.1.2012, 07:12 |
Что за функция такая? |
| Автор: $дмитрий 27.1.2012, 16:25 |
| ksnk, из этого http://jquery.malsup.com/form/ |
| Автор: ksnk 27.1.2012, 16:51 |
| $дмитрий, Да я не про то, что можно погуглить названия функций и нарыть самый подходящий, а про |
| Автор: Serious2008 27.1.2012, 18:05 |
| ksnk, аяксСубмит всё нормально делает свою работу. Тут проблема именно в появляющемся сообщении |
| Автор: ksnk 27.1.2012, 19:14 |
| Serious2008, А! Она была в первом посте, sorry, не увидел |
| Автор: Serious2008 27.1.2012, 19:45 | ||
| All Подскажите пожалуйста как ту функцию поправить. А то я в яваскриптах вообще ноль.
вообще вот не о чём, не там, а где его нужно объявить если не секрет. Как я понимаю нужно не null а 90 * 1000 повесить? |
| Автор: Krotlev 28.1.2012, 13:39 | ||||||||||||
| Смысл: 1. Элемент, отображающий загрузку.
2. Чтобы он отображался независимо поверх исходного содержания страницы его нужно зафиксировать (обычно добавляются дополнительные эффекты - центрирование, затенение страницы). Например, так
3. Код отображающий и скрывающий этот элемент
Здесь можно заметить странную переменную loadingTimeout, которая очищается в этих функциях. Смысл setTimeout лучше погуглить, из первых ссылок по этой теме мне показалась симпатичной http://alljs.ru/articles/timeout/overview 4. Перед началом загрузки выполняет отображение элемента в п.1
5. После завершения загрузки, закрывает элемент п.1.
6. Если нужно, чтобы после полторы минуты отсутствия загрузки, окошко принудительно закрыть, то нужно поставить таймер
Что здесь происходить: * создается таймер setTimeout * который через полторы минуты (90 секунд) * запустить функцию stopLoading * этим таймером можно управлять (останавливать), зная возвращенное значение loadingTimeout, что и делается в п.3 |
| Автор: Serious2008 28.1.2012, 22:50 | ||
Я уже даже вот так сделал. Всё равно не работает, субмит функция всё нормально, этот див не появляется |
| Автор: Fynivx 3.2.2012, 03:19 |
| Знать, выразился я не осторожно... Не знаю, каким образом это происходит в jquery, но браузер даже не отправляет запрос, если onsubmit возвращает false... А про null я говорил потому, что таймаут при этом уничтожаться совсем не обязан. А visibility и display использовать не пробовали? |